Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp
- Committer:
- ejh23
- Date:
- 2021-12-16
- Revision:
- 2:33af3e378563
- Parent:
- 1:dd5fb735acf1
- Child:
- 3:0a85cca4faa3
File content as of revision 2:33af3e378563:
/*
2645_I2C_TMP102_Library
Sample code from ELEC2645 Week 17 Lab
Demonstrates how to re-factor the TMP102 code into a library
(c) Craig A. Evans, University of Leeds, Feb 2016
*/
#include "mbed.h"
// include the library header, ensure the library has been imported into the project
#include "TMP102.h"
// Create TMP102 object
TMP102 tmp102(I2C_SDA,I2C_SCL);
// UART connection for PC
Serial pc(USBTX,USBRX);
// K64F on-board LEDs
DigitalOut r_led(LED_RED);
DigitalOut g_led(LED_GREEN);
DigitalOut b_led(LED_BLUE);
// K64F on-board switches
InterruptIn sw2(SW2);
InterruptIn sw3(SW3);
// error function hangs flashing an LED
void error();
// setup serial port
void init_serial();
// set-up the on-board LEDs and switches
void init_K64F();
int main()
{
// initialise the board and serial port
init_K64F();
init_serial();
// call the sensor init method using dot syntax
tmp102.init();
while (1) {
// read temperature and print over serial port
float T = tmp102.get_temperature();
pc.printf("T = %f K\n",T);
// small delay - 1s to match the update rate of the sensor (1 Hz)
wait(1.0);
}
}
void init_serial() {
// set to highest baud - ensure terminal software matches
pc.baud(9600);
}
void init_K64F()
{
// on-board LEDs are active-low, so set pin high to turn them off.
r_led = 1;
g_led = 1;
b_led = 1;
// since the on-board switches have external pull-ups, we should disable the internal pull-down
// resistors that are enabled by default using InterruptIn
sw2.mode(PullNone);
sw3.mode(PullNone);
}