Test mbed1.
Diff: main.cpp
- Revision:
- 1:1019095e41c4
- Parent:
- 0:7ac9830cbaa5
- Child:
- 2:9f7506fa29d4
diff -r 7ac9830cbaa5 -r 1019095e41c4 main.cpp --- a/main.cpp Wed Mar 12 06:32:33 2014 +0000 +++ b/main.cpp Thu Mar 13 16:23:16 2014 +0000 @@ -2,8 +2,8 @@ #include <math.h> #include "InterruptManager.h" #include "TPM_init.h" - -#define BAUD_RATE 921600 +#include "SLCD.h" +#define BAUD_RATE 9600 #define NVIC_ISER 0xE000E100 #define NVIC_ISPR 0xE000E200 @@ -16,11 +16,12 @@ DigitalOut green(LED1); Serial pc(USBTX, USBRX); Timer timer; +SLCD slcd; unsigned int flag; unsigned int modulo_val = 48000; unsigned int prescale_val = 0; - +volatile unsigned val = 10; void TPM0_handler_test(); void init_test() @@ -42,15 +43,44 @@ TPM0_clear_overflow(); NVIC_ClearPendingIRQ(TPM0_IRQn); flag++; - out = !out; + if (flag == val) { + out = !out; + flag = 0; + } // green = !green; } } +void read() +{ + char c = (char) pc.getc(); + green = !green; + if (c == '1') { + slcd.printf("%c",c); + val = 1; + } else if (c == '2') { + slcd.printf("%c", c); + val = 100; + } else if (c == '3') { + slcd.printf("%c",c); + val = 1000; + } else if (c == '4') { + slcd.printf("%c",c); + val = 10000; + } else if (c == '5') { + val = 100000; + } else { + slcd.printf("E"); + return; + } +} + int main() { flag = 0; + green = 0; pc.baud(BAUD_RATE); - + pc.attach(read); + slcd.printf("nesl"); init_test(); while(1) {