i2c, scan

Dependencies:   mbed-rtos mbed

Nucleo I2C Doesn't work if rtos library present in project. Example:

Committer:
Dzhafarkhanov
Date:
Thu Feb 04 10:34:43 2016 +0000
Revision:
0:f971dfcdb7ad
Nucleo i2c;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Dzhafarkhanov 0:f971dfcdb7ad 1 #include "mbed.h"
Dzhafarkhanov 0:f971dfcdb7ad 2
Dzhafarkhanov 0:f971dfcdb7ad 3
Dzhafarkhanov 0:f971dfcdb7ad 4 #define D_SDA I2C_SDA
Dzhafarkhanov 0:f971dfcdb7ad 5 #define D_SCL I2C_SCL
Dzhafarkhanov 0:f971dfcdb7ad 6
Dzhafarkhanov 0:f971dfcdb7ad 7 I2C i2c(D_SDA, D_SCL);
Dzhafarkhanov 0:f971dfcdb7ad 8
Dzhafarkhanov 0:f971dfcdb7ad 9 Serial pc(SERIAL_TX, SERIAL_RX);
Dzhafarkhanov 0:f971dfcdb7ad 10
Dzhafarkhanov 0:f971dfcdb7ad 11 char data [255];
Dzhafarkhanov 0:f971dfcdb7ad 12 int i;
Dzhafarkhanov 0:f971dfcdb7ad 13 int main()
Dzhafarkhanov 0:f971dfcdb7ad 14 {
Dzhafarkhanov 0:f971dfcdb7ad 15 pc.printf("started.. \n");
Dzhafarkhanov 0:f971dfcdb7ad 16 // Scan for I2C devices that reply with ack
Dzhafarkhanov 0:f971dfcdb7ad 17 for (i=0; i<=254; i=i+2) {
Dzhafarkhanov 0:f971dfcdb7ad 18 if (i2c.read(i, &data[0], 1) ==0)
Dzhafarkhanov 0:f971dfcdb7ad 19 {
Dzhafarkhanov 0:f971dfcdb7ad 20 pc.printf("I2C device detected at address=%2.2X\n\r", i);
Dzhafarkhanov 0:f971dfcdb7ad 21 }
Dzhafarkhanov 0:f971dfcdb7ad 22 }
Dzhafarkhanov 0:f971dfcdb7ad 23 }