![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
adress_I2C
main.cpp@0:4f47045c5eff, 20 months ago (annotated)
- Committer:
- henriquer
- Date:
- Wed Nov 16 14:17:26 2022 +0000
- Revision:
- 0:4f47045c5eff
teste i2c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
henriquer | 0:4f47045c5eff | 1 | #include "mbed.h" |
henriquer | 0:4f47045c5eff | 2 | |
henriquer | 0:4f47045c5eff | 3 | I2C i2c(I2C_SDA, I2C_SCL); |
henriquer | 0:4f47045c5eff | 4 | |
henriquer | 0:4f47045c5eff | 5 | int main(){ |
henriquer | 0:4f47045c5eff | 6 | printf("\nI2C Scanner running...\n"); |
henriquer | 0:4f47045c5eff | 7 | //i2c.frequency(400000); |
henriquer | 0:4f47045c5eff | 8 | int error, address, nDevices; |
henriquer | 0:4f47045c5eff | 9 | nDevices = 0; |
henriquer | 0:4f47045c5eff | 10 | for(address = 0; address < 128; address++ ){ |
henriquer | 0:4f47045c5eff | 11 | thread_sleep_for(10); |
henriquer | 0:4f47045c5eff | 12 | error = i2c.write(address << 1, "1", 1); |
henriquer | 0:4f47045c5eff | 13 | |
henriquer | 0:4f47045c5eff | 14 | if (error == 0){ |
henriquer | 0:4f47045c5eff | 15 | printf("I2C device found at address 8bit: 0x%X 7bit: 0x%X\n", address, address << 1); |
henriquer | 0:4f47045c5eff | 16 | nDevices++; |
henriquer | 0:4f47045c5eff | 17 | } |
henriquer | 0:4f47045c5eff | 18 | } |
henriquer | 0:4f47045c5eff | 19 | if (nDevices == 0){ |
henriquer | 0:4f47045c5eff | 20 | printf("No I2C devices found\n"); |
henriquer | 0:4f47045c5eff | 21 | }else{ |
henriquer | 0:4f47045c5eff | 22 | printf("\ndone\n"); |
henriquer | 0:4f47045c5eff | 23 | } |
henriquer | 0:4f47045c5eff | 24 | } |