Scan I2C address with COM port output

Dependencies:   mbed

Committer:
bi18rdbi18rd
Date:
Sat Dec 05 10:31:10 2015 +0000
Revision:
0:02e1d738d7ad
IIC Scan address;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bi18rdbi18rd 0:02e1d738d7ad 1 #include "mbed.h"
bi18rdbi18rd 0:02e1d738d7ad 2
bi18rdbi18rd 0:02e1d738d7ad 3 I2C i2c(I2C_SDA, I2C_SCL);
bi18rdbi18rd 0:02e1d738d7ad 4
bi18rdbi18rd 0:02e1d738d7ad 5 int addr = 0x00;
bi18rdbi18rd 0:02e1d738d7ad 6
bi18rdbi18rd 0:02e1d738d7ad 7 int main()
bi18rdbi18rd 0:02e1d738d7ad 8 {
bi18rdbi18rd 0:02e1d738d7ad 9 bool ack;
bi18rdbi18rd 0:02e1d738d7ad 10
bi18rdbi18rd 0:02e1d738d7ad 11 printf("\nstart\n");
bi18rdbi18rd 0:02e1d738d7ad 12
bi18rdbi18rd 0:02e1d738d7ad 13 i2c.frequency(100000);
bi18rdbi18rd 0:02e1d738d7ad 14
bi18rdbi18rd 0:02e1d738d7ad 15
bi18rdbi18rd 0:02e1d738d7ad 16 while(1) {
bi18rdbi18rd 0:02e1d738d7ad 17
bi18rdbi18rd 0:02e1d738d7ad 18 //sent data i2c FIGURE 4-1
bi18rdbi18rd 0:02e1d738d7ad 19 ack = i2c.write(addr,0x00,1);
bi18rdbi18rd 0:02e1d738d7ad 20 wait_us(5);
bi18rdbi18rd 0:02e1d738d7ad 21
bi18rdbi18rd 0:02e1d738d7ad 22 if(!ack) printf("I2C found @ %x\n",addr);
bi18rdbi18rd 0:02e1d738d7ad 23
bi18rdbi18rd 0:02e1d738d7ad 24 if(addr>=0xFF) break;
bi18rdbi18rd 0:02e1d738d7ad 25 addr++;
bi18rdbi18rd 0:02e1d738d7ad 26 }
bi18rdbi18rd 0:02e1d738d7ad 27 printf("stop\n\n");
bi18rdbi18rd 0:02e1d738d7ad 28
bi18rdbi18rd 0:02e1d738d7ad 29 }