Does anyone know where I can get working I2C routines for Philips LPC in Keil C ? The version from Keil's site does not read data correctly. I can not get it to work. Thanx in advance.
Her you will find a UV2-Project that has each I2C-routines for LPC-Controller: http://www.c51.de/c51.de/Dateien/MEBA/87LPC762.zip (german site) Daniel
the path to the "general" IIC appnotes on the philips website is somewhat obscure, but here it is: http://www-us.semiconductors.philips.com/i2c/support/#appnotes. You will find a plethora (I love that word) of routines there. Have fun, Erik
Hi, The Appnote for I2C routines in C for the LPC932 can be found at: http://www.semiconductors.philips.com/acrobat/applicationnotes/AN10155_1.pdf Bauke
Yes Bauke, this is for 900 series, 900 series has bytewise i2c, 87LPC76x has bitwise i2c hardware so they are incompatible. I posted the question long time ago (2001). Now the project is completed, I made it available for anyone on my site. ( it's in zip and documented as pdf) name of project: I2C - LCD driver for TXT displays Control a std LCD module ( based on HD44780 ) with a 20 pins microcontroller using I2C url: http://www.microllix.nl/main.html use link online info problem with I2C bitwise hardware is speed, it can never reach speeds up to 400 kB/sec. So master must be able to detect a slave's clock- stretch. Not all masters can do this.
Hi, Thanks for the info, looks like a nice product. You are right that the bitwise and bytewise I2C implementation are incompatible. Just a little comment. "problem with I2C bitwise hardware is speed, it can never reach speeds up to 400 kB/sec. So master must be able to detect a slave's clock- stretch. Not all masters can do this." Bitwise I2C does require a lot more CPU power. But if an I2C master does not allow a slave to stretch the clock then it does not truely comply to the I2C spec. The bytewise has lower overhead for the CPU, also the LPC9xx core is a 2 clk core and more powerfull. Regards, Bauke