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.
Revision 0:323914d43f7e, committed 2011-10-04
- Comitter:
- sunifu
- Date:
- Tue Oct 04 13:16:24 2011 +0000
- Commit message:
Changed in this revision
diff -r 000000000000 -r 323914d43f7e TextLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Tue Oct 04 13:16:24 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/TextLCD/#44f34c09bd37
diff -r 000000000000 -r 323914d43f7e main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Oct 04 13:16:24 2011 +0000
@@ -0,0 +1,103 @@
+#include "mbed.h"
+#include "TextLCD.h"
+
+#define THR 200
+
+enum SignalMode{NOT_USED,FORWARD,BACK,LEFT,RIGHT,DASH_FORWARD,FORWARD_LEFT,FORWARD_RIGHT,DASH_FORWARD_LEFT,
+ DASH_FORWARD_RIGHT,BACK_LEFT,BACK_RIGHT,DASH_BACK,DASH_BACK_LEFT,DASH_BACK_RIGHT, STOP};
+SignalMode STAT;
+
+int steering;
+int signal;
+
+InterruptIn event(p21) ;
+
+TextLCD lcd(p24, p26, p27, p28, p29, p30);
+BusOut myleds(LED1,LED2,LED3,LED4);
+
+int bitCnt = 0;
+Timer timer;
+int begin,end,interval;
+
+void tStart()
+{
+ interval = 0;
+ begin = timer.read_us();
+}
+
+void tEnd()
+{
+ end = timer.read_us();
+ interval = end - begin ;
+ timer.reset();
+
+ if( 2000 - THR < interval && interval < 2000 + THR ){
+ bitCnt = 0 ;
+ signal = 0;
+ }else if ( 500 -THR < interval && interval < 500 + THR ){
+ signal <<= 1;
+ bitCnt++;
+ }else if ( 1000 -THR < interval && interval < 1000 + THR ){
+ signal <<= 1;
+ signal++;
+ bitCnt++;
+ }
+}
+
+int main() {
+ int data = 0;
+ timer.start() ;
+ event.fall(&tStart) ;
+ event.rise(&tEnd) ;
+
+ while(1) {
+ if ( bitCnt == 6){
+ data = signal;
+ lcd.locate(0,0);
+ lcd.printf("%3d",data);
+ lcd.locate(4,0);
+ lcd.printf("%d%d",(data&0x20)?1:0,(data&0x10)?1:0);
+ lcd.printf("%d%d%d%d",(data&0x08)?1:0,(data&0x04)?1:0,(data&0x02)?1:0,(data&0x01)?1:0);
+ lcd.locate(0,1);
+
+ if ( data < 16 )
+ lcd.printf("CH A");
+ else if ( data < 32 )
+ lcd.printf("CH B");
+ else if ( data < 48)
+ lcd.printf("CH C");
+ else if ( data < 64)
+ lcd.printf("CH D");
+
+ steering = (int)(data&0x0F) ;
+ lcd.locate(5,1);
+ switch(steering){
+ case LEFT:
+ lcd.printf("LEFT ");
+ myleds = 0x01;
+ break;
+ case RIGHT:
+ lcd.printf("RIGHT ");
+ myleds = 0x08;
+ break;
+ case FORWARD:
+ lcd.printf("FORWARD");
+ break;
+ case BACK:
+ lcd.printf("BACK ");
+ break;
+ case DASH_FORWARD:
+ lcd.printf("DASH_FOR ");
+ break;
+ case DASH_BACK:
+ lcd.printf("DASH_BACK");
+ break;
+ case STOP:
+ lcd.printf("STOP ");
+ wait_ms(50);
+ lcd.cls();
+ myleds =0x00;
+ }
+ }
+ }
+}
diff -r 000000000000 -r 323914d43f7e mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Oct 04 13:16:24 2011 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912