UART to I2C master(s) converter, targetting to emulate SC18IM700(NXP) chip
UART to I2C master(s) converter, targetting to emulate SC18IM700(NXP) chip
Features
up to 4x I2C master
- for LPC824 implement, we can use up to 4 channels of I2C masters
- 1x Fm+ and 3x Fm I2C channels
- for LPC1768 implement, we can use up to 2 channels of I2C masters
- 2x Fm I2C channels
- for LPC11U35 implement, only one channel for I2C master,
but program uses USB CDC class for UART communication (means no external USB-Serial converter chip)
- 1x Fm+ I2C channels
1x SPI master
up to 2x 8bit GPIO
Tested Platforms
LPC824
- https://developer.mbed.org/platforms/Switch-Science-mbed-LPC824/
- https://developer.mbed.org/platforms/LPCXpresso824-MAX/
LPC1768
LPC11U35
Quote:
LPC11U35 implement requires importing USBDevice library to use USBSerial class
visit https://github.com/K4zuki/tinyI2C for more information
Diff: tinyI2C_11U3x.h
- Revision:
- 0:b597ed665b76
- Child:
- 36:ffbd9829c8d1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tinyI2C_11U3x.h Tue Aug 30 18:31:12 2016 +0000 @@ -0,0 +1,45 @@ +/* +tinyI2C_11U3x.h +*/ + +static const uint8_t chip_id = ID_LPC11UXX; + +#define isI2C1 // unused(always enabled) +I2C dev1( P0_5, P0_4 ); + + +#undef isI2C2 +#undef isI2C3 +#undef isI2C4 + +#undef isUART +#define isUSBUART + +#include "USBSerial.h" +USBSerial pc; + +#define isHWSPI +#undef isSWSPI +SPI _spi(P0_9, P0_8, P0_10); // mosi, miso, sclk +DigitalOut _cs(P0_7); // CS + +#define isGPIO0 // unused(always enabled) +DigitalInOut _GPIO00(P0_22); +DigitalInOut _GPIO01(P0_11); +DigitalInOut _GPIO02(P0_12); +DigitalInOut _GPIO03(P0_13); +DigitalInOut _GPIO04(P0_14); +DigitalInOut _GPIO05(P0_15); +DigitalInOut _GPIO06(P0_16); +DigitalInOut _GPIO07(P0_23); + +#define isGPIO1 +DigitalInOut _GPIO10(P1_15); +DigitalInOut _GPIO11(P0_17); +DigitalInOut _GPIO12(P0_18); +DigitalInOut _GPIO13(P0_19); +DigitalInOut _GPIO14(P1_19); +DigitalInOut _GPIO15(P0_20); +DigitalInOut _GPIO16(P0_2 ); +DigitalInOut _GPIO17(P0_21); +