Andrew Bish
/
STM32_I2C_TMP102
adapted for STM32F411RET6
Fork of 2645_I2C_TMP102 by
main.cpp@2:5d19af7385a0, 2018-05-22 (annotated)
- Committer:
- labviewdxp
- Date:
- Tue May 22 07:15:52 2018 +0000
- Revision:
- 2:5d19af7385a0
- Parent:
- 1:dd5fb735acf1
for export;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
eencae | 0:21a200b880d7 | 1 | /* |
eencae | 0:21a200b880d7 | 2 | |
eencae | 1:dd5fb735acf1 | 3 | 2645_I2C_TMP102_Library |
eencae | 0:21a200b880d7 | 4 | |
eencae | 0:21a200b880d7 | 5 | Sample code from ELEC2645 Week 17 Lab |
eencae | 0:21a200b880d7 | 6 | |
eencae | 1:dd5fb735acf1 | 7 | Demonstrates how to re-factor the TMP102 code into a library |
eencae | 0:21a200b880d7 | 8 | |
eencae | 0:21a200b880d7 | 9 | (c) Craig A. Evans, University of Leeds, Feb 2016 |
eencae | 0:21a200b880d7 | 10 | |
eencae | 0:21a200b880d7 | 11 | */ |
eencae | 0:21a200b880d7 | 12 | |
eencae | 0:21a200b880d7 | 13 | #include "mbed.h" |
eencae | 1:dd5fb735acf1 | 14 | // include the library header, ensure the library has been imported into the project |
eencae | 1:dd5fb735acf1 | 15 | #include "TMP102.h" |
eencae | 0:21a200b880d7 | 16 | |
eencae | 1:dd5fb735acf1 | 17 | // Create TMP102 object |
eencae | 1:dd5fb735acf1 | 18 | TMP102 tmp102(I2C_SDA,I2C_SCL); |
eencae | 0:21a200b880d7 | 19 | // UART connection for PC |
eencae | 0:21a200b880d7 | 20 | Serial pc(USBTX,USBRX); |
eencae | 0:21a200b880d7 | 21 | |
eencae | 0:21a200b880d7 | 22 | // K64F on-board LEDs |
labviewdxp | 2:5d19af7385a0 | 23 | //DigitalOut r_led(LED_RED); |
labviewdxp | 2:5d19af7385a0 | 24 | |
eencae | 0:21a200b880d7 | 25 | |
eencae | 0:21a200b880d7 | 26 | // error function hangs flashing an LED |
eencae | 0:21a200b880d7 | 27 | void error(); |
eencae | 0:21a200b880d7 | 28 | // setup serial port |
eencae | 0:21a200b880d7 | 29 | void init_serial(); |
eencae | 0:21a200b880d7 | 30 | // set-up the on-board LEDs and switches |
labviewdxp | 2:5d19af7385a0 | 31 | //void init_K64F(); |
eencae | 0:21a200b880d7 | 32 | |
eencae | 0:21a200b880d7 | 33 | int main() |
eencae | 0:21a200b880d7 | 34 | { |
eencae | 1:dd5fb735acf1 | 35 | // initialise the board and serial port |
labviewdxp | 2:5d19af7385a0 | 36 | //init_K64F(); |
eencae | 0:21a200b880d7 | 37 | init_serial(); |
eencae | 1:dd5fb735acf1 | 38 | // call the sensor init method using dot syntax |
eencae | 1:dd5fb735acf1 | 39 | tmp102.init(); |
eencae | 0:21a200b880d7 | 40 | |
eencae | 0:21a200b880d7 | 41 | while (1) { |
eencae | 0:21a200b880d7 | 42 | |
eencae | 0:21a200b880d7 | 43 | // read temperature and print over serial port |
eencae | 1:dd5fb735acf1 | 44 | float T = tmp102.get_temperature(); |
labviewdxp | 2:5d19af7385a0 | 45 | pc.printf("T = %f C",T); |
eencae | 0:21a200b880d7 | 46 | // small delay - 1s to match the update rate of the sensor (1 Hz) |
labviewdxp | 2:5d19af7385a0 | 47 | //wait(1); |
eencae | 0:21a200b880d7 | 48 | |
eencae | 0:21a200b880d7 | 49 | } |
eencae | 0:21a200b880d7 | 50 | |
eencae | 0:21a200b880d7 | 51 | } |
eencae | 0:21a200b880d7 | 52 | |
eencae | 0:21a200b880d7 | 53 | void init_serial() { |
eencae | 0:21a200b880d7 | 54 | // set to highest baud - ensure terminal software matches |
labviewdxp | 2:5d19af7385a0 | 55 | pc.baud(115000); |
eencae | 0:21a200b880d7 | 56 | } |
eencae | 0:21a200b880d7 | 57 | |
eencae | 0:21a200b880d7 | 58 |