
i2c interface eeprom
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:b5986cc5eebd
- Child:
- 1:b2b38e1e4d0c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Oct 27 05:02:15 2015 +0000 @@ -0,0 +1,52 @@ +#include "mbed.h" + +I2C i2c(I2C_SDA, I2C_SCL); + +const int addr = 0xA0; + +int main() { + char cmd[6]; + int len=3; + char data[1]; + int ack; + + i2c.frequency(100000); + //while (1) { + cmd[0] = 0x00; + cmd[1] = 0x01; + cmd[2] ='t'; + ack = i2c.write((int)addr,(char *)cmd,len); + printf("ack1 = %d\n",ack); + //i2c.write(addr, cmd, 2); + + wait_ms(5); + + ack = i2c.write((int)addr+1,(char *)cmd,len-1,true); + printf("ack2 = %d\n",ack); + ack = i2c.read((int)addr,(char *)&data,sizeof(data)); + printf("ack3 = %d\n",ack); + printf("Temp1 = %c\n", data[0]); + + + cmd[2] ='E'; + ack = i2c.write((int)addr,(char *)cmd,len); + //i2c.write(addr, cmd, 2); + + wait_ms(5); + + ack = i2c.write((int)addr+1,(char *)cmd,len-1,true); + + ack = i2c.read((int)addr,(char *)&data,sizeof(data)); + printf("Temp2 = %c\n\n", data[0]); + + //wait_us(100); + /* + cmd[0] = 0x00; + i2c.write(addr, cmd, 1); + i2c.read(addr, cmd, 6); + */ + + // float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0); + // printf("Temp = %s\n", cmd); + //} +} \ No newline at end of file