by Rob Toulson and Tim Wilmshurst from textbook "Fast and Effective Embedded Systems Design: Applying the ARM mbed"
main.cpp
- Committer:
- robt
- Date:
- 2013-05-24
- Revision:
- 0:3a237f51291d
File content as of revision 0:3a237f51291d:
/* Program Example 9.5: Tests Timer duration, displaying current time values to terminal */ #include "mbed.h" Timer t; float s=0; //seconds cumulative count float m=0; //minutes cumulative count DigitalOut diag (LED1); Serial pc(USBTX, USBRX); int main() { pc.printf("\r\nTimer Duration Test\n\r"); pc.printf("-------------------\n\n\r"); t.reset(); //reset Timer t.start(); // start Timer while(1){ if (t.read()>=(s+1)){ //has Timer passed next whole second? diag = 1; //If yes, flash LED and print a message wait (0.05); diag = 0; s++ ; //print the number of seconds exceeding whole minutes pc.printf("%1.0f seconds\r\n",(s-60*(m-1))); } if (t.read()>=60*m){ printf("%1.0f minutes \n\r",m); m++ ; } if (t.read()<s){ //test for overflow pc.printf("\r\nTimer has overflowed!\n\r"); for(;;){} //lock into an endless loop doing nothing } } //end of while }