Program to read temperature and humidity over I2C from the GE ChipCap2 sensor, using the MBED LPC11U24 board. !!! NOT WORKING !!! This reference program for Arduino DO work: http://hastebin.com/tilolukave.go If you locate the error please let me know at mario@baldini.systems
main.cpp
- Committer:
- mbn12
- Date:
- 2014-08-08
- Revision:
- 0:9ce639d07eeb
- Child:
- 1:7008e7b00996
File content as of revision 0:9ce639d07eeb:
/* Program to read temperature and humidity over I2C from the GE ChipCap2 sensor, using the MBED LPC11U24 board. Autor: Mario Baldini <mario@baldini.systems> 2014/08 !!! NOT WORKING !!! This reference program for Arduino DO work: http://hastebin.com/tilolukave.go If you locate the error in this mbed version, please e-mail me at mario@baldini.systems Reading the output (in linux): sudo screen /dev/ttyACM0 115200 */ #include "mbed.h" Serial pc(USBTX, USBRX); I2C i2c(p28,p27); //sda,scl int main() { pc.baud(115200); pc.printf("begin\r\n"); int address = 0x28; char data[4]; data[0] = 0x00; data[1] = 0x00; data[2] = 0x00; data[3] = 0x00; char data_write[3]; data_write[0] = 0xA0; data_write[1] = 0x00; data_write[2] = 0x00; i2c.frequency(400000); while(true) { pc.printf("loop()\r\n"); data[0] = 0x00; data[1] = 0x00; data[2] = 0x00; data[3] = 0x00; // TRY 1 i2c.start(); i2c.write(address, data_write, 3); wait_ms(50); i2c.stop(); i2c.start(); i2c.read(address, data, 4); i2c.stop(); pc.printf("Ver.1 Data[]\t 0x%X 0x%X 0x%X 0x%X \r\n\n", data[0],data[1],data[2],data[3]); // TRY 2 i2c.start(); i2c.write(0xA0); i2c.write(0x00); i2c.write(0x00); i2c.stop(); wait_ms(50); i2c.start(); i2c.read(address, data, 4); i2c.stop(); pc.printf("Ver.2 Data[]\t 0x%X 0x%X 0x%X 0x%X \r\n\n", data[0],data[1],data[2],data[3]); // TRY 3 i2c.write(address, data_write, 3); i2c.write(0xA0); i2c.write(0x00); i2c.write(0x00); wait_ms(50); i2c.read(address, data, 4); data[0] = i2c.read(0x01); data[1] = i2c.read(0x01); data[2] = i2c.read(0x00); data[3] = i2c.read(0x00); pc.printf("Ver.3 Data[]\t 0x%X 0x%X 0x%X 0x%X \r\n\n", data[0],data[1],data[2],data[3]); wait_ms(2000); } }