Jan Kamidra
/
Mbed_I2C_scanner
I2C scanner
Diff: main.cpp
- Revision:
- 0:6c7b081066fd
diff -r 000000000000 -r 6c7b081066fd main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Aug 02 10:05:33 2022 +0000 @@ -0,0 +1,30 @@ +#include "mbed.h" + +I2C i2c(ARDUINO_UNO_I2C_SDA, ARDUINO_UNO_I2C_SCL); + +int main(){ + printf("\nI2C Scanner running...\n"); + printf("Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION); + //i2c.frequency(400000); + int error, address, nDevices; + nDevices = 0; + + for(address = 0; address < 128; address++ ){ + thread_sleep_for(10); + /*i2c.start(); + error = i2c.write(address << 1); + i2c.stop();*/ + error = i2c.write(address << 1, "1", 1); + //pc.printf("Erorr %d\n", error); + if (error == 0){ //need to be change according to what version of overloaded write method is used + printf("I2C device found at address 8bit: 0x%X 7bit: 0x%X\n", address, address << 1); + nDevices++; + } + } + + if (nDevices == 0){ + printf("No I2C devices found\n"); + }else{ + printf("\ndone\n"); + } +} \ No newline at end of file