M0Board_WF
/
WF_lektion9-LM75B_State_temp
a
main.cpp
- Committer:
- bulmenwt
- Date:
- 2015-01-28
- Revision:
- 0:311bb45bd2b4
File content as of revision 0:311bb45bd2b4:
/*M0-BOARD LPC11U24 VERSION 1.0 / HI/ENE/WF 09_2014 BULME Graz / Elektronik 29 Alternativ ohne Library für LM75B */ #include "mbed.h" #include "LM75B.h" DigitalOut Led1(LED1); DigitalOut Led2(LED2); DigitalOut Led3(LED3); DigitalOut Led4(LED4); typedef enum {led_on, temp, led_off} state_t; state_t state=led_on; /* function declaration */ void maxTemp(); void stateMachine(); //Create an LM75B object at the default address (ADDRESS_0) LM75B sensor(p28, p27); int main() { //Try to open the LM75B if (sensor.open()) { printf("Device detected!\n\r"); while (1) { Led4=1; wait(0.2); Led4=0; wait(0.2); // Funktionsaufruf maxTemp(); stateMachine(); //Print the current temperature // printf("Temp = %.1f\n\r", (float)sensor); //Sleep for 0.5 seconds wait(0.5); } } else { error("Device not detected!\n"); } } void maxTemp() { /* local variable declaration */ if (sensor > 29.0) { Led1=1; } else Led1=0; //return 0; } void stateMachine(){ switch (state) { case led_on: printf("STATE: led_on!\n\r"); led2=1; led3=1; wait(2); state=temp; break; case temp: printf("STATE: led_on!\n\r"); printf("Temp = %.1f\n\r", (float)sensor); wait(2); state=led_off; break; }