Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
7 years, 8 months ago. This question has been closed. Reason: Off Topic
I2C Pins??
I'm successfully reading the temperature from the TMP102 device but only if I use pin references 28 and 29 in the program below although my device is actually connected via pins 9 and 10? Is there a simple explanation? If I change the program to pins 9 and 10 I get no readings?
#include "mbed.h" #include "TextLCD.h" #include "TMP102.h" I2C i2c(p28, p27); // sda, scl TextLCD lcd(p15, p16, p17, p18, p19, p20); // rs, e, d4-d7 TMP102 TMP102(p28,p27,0x90); //Define SDA, SCL pin and i2c address float TempReading() { float value; value = TMP102.read(); return value; } int main() { lcd.printf("I2CU! Searching for I2C devices...\n"); int count = 0; for (int address=0; address<256; address+=2) { if (!i2c.write(address, NULL, 0)) { // 0 returned is ok lcd.printf(" - I2C device found at address 0x%02X\n", address); count++; wait(5); lcd.cls(); } } lcd.printf("%d devices found\n", count); while (1){ float temperature = TempReading(); lcd.printf("Temperature: %2.f degC\n", temperature); } }