i2c interface eeprom

Dependencies:   mbed

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