Vaughn Kottler
/
I2C
Discover I2C devices on a bus
main.cpp
- Committer:
- vkottler
- Date:
- 2018-02-17
- Revision:
- 0:4d662897d4a1
File content as of revision 0:4d662897d4a1:
#include "mbed.h" Serial pc(SERIAL_TX, SERIAL_RX); I2C i2c(D0, D1); DigitalOut myled(LED1); int main() { pc.baud(115200); int i = 1; int devices_found; uint8_t curr_addr; char data[1] = {'\0'}; pc.printf("\r\n"); pc.printf("Program begin\r\n"); wait(1); while(1) { devices_found = 0; myled = !myled; for (i = 0; i < 128; i++) { curr_addr = i << 1; if (!i2c.write(curr_addr, data, 1)) { pc.printf("found device at 0x%x\r\n", curr_addr); devices_found++; } wait(0.2); } pc.printf("%d devices found\r\n", devices_found); wait(2); } /* should never get here */ return 0; }