I2C Hello World, I2C Example
Fork of I2C_HelloWorld_Mbed by
Use
The mbed I2C API uses 8 bit addressing and will auto append the 0 or 1 for read/write mode. Please keep in mind that every I2C set up has its own quirks so this example may not work out of the box for your sensor / application. Make sure to check the data sheet for your part for the timing / register access specification.
API
API reference.
Import librarymbed
main.cpp
- Committer:
- mbedAustin
- Date:
- 2014-09-21
- Revision:
- 2:ab0e4b55d7da
- Parent:
- 0:f76c26307f9a
- Child:
- 3:df6232c70efd
File content as of revision 2:ab0e4b55d7da:
#include "mbed.h" // Read temperature from LM75BD I2C i2c(I2C_SDA , I2C_SCL ); const int addr7bit = 0x48; // 7 bit I2C address const int addr8bit = 0x48 << 1; // 8bit I2C address, 0x90 int main() { char cmd[2]; while (1) { cmd[0] = 0x01; cmd[1] = 0x00; i2c.write(addr8bit, cmd, 2); wait(0.5); cmd[0] = 0x00; i2c.write(addr8bit, cmd, 1); i2c.read( addr8bit, cmd, 2); float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0); printf("Temp = %.2f\n", tmp); } }