Seongbin Lim
/
sb_first_project
This is a very simple guide, reviewing the steps required to get Blinky working on an Mbed OS platform.
main.cpp
- Committer:
- sb8718
- Date:
- 2020-05-09
- Revision:
- 132:e36000d354c6
- Parent:
- 131:8fb226cc407c
- Child:
- 133:278a9afa9e1a
File content as of revision 132:e36000d354c6:
#include "mbed.h" #define TMP_REG (0x00) #define CONF_REG (0x03) #define ADDR (0x48) I2C i2c(I2C_SDA, I2C_SCL); Serial pc(PA_2, PA_3, 115200); //IR receiver D4 int main() { int status; float temp; char data_write[2]; char data_read[2]; pc.printf("Welcome to I2C Test program\r\n"); i2c.frequency(100000); data_write[0] = CONF_REG; data_write[1] = 0x40; status = i2c.write((ADDR << 1), data_write, 2); if(status != 0) { pc.printf("I2C configuration error!!\r\n"); while(1) { } } while(1) { data_write[0] = TMP_REG; i2c.write((ADDR << 1), data_write, 1, 0); i2c.read(((ADDR << 1) | 0x01), data_read, 2, 0); int tempval = ((int) data_read[0] << 8) | data_read[1]; tempval >>= 3; if((tempval & 0x1000) > 0) { temp = (tempval - 8192)/16.0; } else { temp = tempval/16.0; } pc.printf("temperature = %.4f\r\n",temp); ThisThread::sleep_for(1000); } }