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.
Dependencies: MCP23017 WattBob_TextLCD mbed
Fork of HelloWorld by
Revision 7:0c36c40f2ffd, committed 2014-03-04
- Comitter:
- haseo1989
- Date:
- Tue Mar 04 15:37:21 2014 +0000
- Parent:
- 6:94ee12962e13
- Commit message:
- test whole system
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Mon Mar 03 10:33:15 2014 +0000
+++ b/main.cpp Tue Mar 04 15:37:21 2014 +0000
@@ -30,6 +30,7 @@
MCP23017 *par_port; // pointer to 16-bit parallel I/O object
WattBob_TextLCD *lcd; // pointer to 2*16 chacater LCD object
Timer tmr; //define a timer for calculating the frequency
+Timer Tcheck; //define a timer for testing whether task1 is overtime of not
LocalFileSystem local("local"); //Create the local filesystem under the name "local"
FILE *fp; //define a file
@@ -54,46 +55,51 @@
{
float tm_val1,tm_val2 = 0;
int flag,flag_err = 0;
-
- Timer Tcheck; //define a timer for calculating the frequency
-
+
Tcheck.reset(); //to check wether the testing is over time or not
Tcheck.start();
- tmr.reset();
+
while(IP_wave)
{
tm_val2 = Tcheck.read();
flag = tm_val2*1000;
- if(flag >= 20) //if the signal keeps hi in 20ms , it will end testing. the flag_err will be set one
+ if(flag >= 10) //if the signal keeps hi in 20ms , it will end testing. the flag_err will be set one
{
flag_err = 1;
break;
- }
+ }
}
while( !IP_wave )
{
tm_val2 = Tcheck.read();
flag = tm_val2*1000;
- if((flag >= 40) || flag_err == 1) //if the signal keeps low in 50ms , it will end testing.
- flag_err = 1;
- break;
+
+ if((flag >= 20) || flag_err == 1) //if the signal keeps low in 50ms , it will end testing.
+ {
+ flag_err = 1;
+ break;
+ }
}
Tcheck.stop();
- Tcheck.reset();
+ if( flag_err == 0 )
+ {
+ tmr.reset();
tmr.start();
- while(IP_wave)
+ while( IP_wave )
{
}
tmr.stop();
tm_val1 = tmr.read_us();
- if( (tm_val1 > 500.0) && (flag_err == 0) ) //if impulse last more than 500us, it will get its frequency
+ }
+
+ if( tm_val1 > 500.0 ) //if impulse last more than 500us, it will get its frequency
freq = 500000/tm_val1; //the frenquency of the wave
else
freq = 0;
@@ -229,9 +235,7 @@
if(tick%4 == 0)
T2_checkSW();
- tick = tick%900;
-
-
+ if(tick == 1800) tick = 1;
}
return 0;
}
