dong yanzhi
/
Nucleo_printf_GPS
dongyanzhi gps
Fork of Nucleo_printf_test by
main.cpp@0:3ba942901d6e, 2017-06-09 (annotated)
- Committer:
- dongyanzhi
- Date:
- Fri Jun 09 02:45:45 2017 +0000
- Revision:
- 0:3ba942901d6e
dongyanzhi gps
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
dongyanzhi | 0:3ba942901d6e | 1 | #include "mbed.h" |
dongyanzhi | 0:3ba942901d6e | 2 | #include <cstring> |
dongyanzhi | 0:3ba942901d6e | 3 | |
dongyanzhi | 0:3ba942901d6e | 4 | Serial pc(SERIAL_TX, SERIAL_RX); //USART2 |
dongyanzhi | 0:3ba942901d6e | 5 | Serial gps(D1,D0); //USART1 |
dongyanzhi | 0:3ba942901d6e | 6 | DigitalOut myled(LED1); |
dongyanzhi | 0:3ba942901d6e | 7 | char buffer[256]; |
dongyanzhi | 0:3ba942901d6e | 8 | void getline(); |
dongyanzhi | 0:3ba942901d6e | 9 | void callback() |
dongyanzhi | 0:3ba942901d6e | 10 | { |
dongyanzhi | 0:3ba942901d6e | 11 | getline(); |
dongyanzhi | 0:3ba942901d6e | 12 | } |
dongyanzhi | 0:3ba942901d6e | 13 | volatile int sig=0; |
dongyanzhi | 0:3ba942901d6e | 14 | volatile int i=0; |
dongyanzhi | 0:3ba942901d6e | 15 | int main() |
dongyanzhi | 0:3ba942901d6e | 16 | { |
dongyanzhi | 0:3ba942901d6e | 17 | pc.printf("start test!\r\n"); |
dongyanzhi | 0:3ba942901d6e | 18 | gps.attach(&callback); |
dongyanzhi | 0:3ba942901d6e | 19 | |
dongyanzhi | 0:3ba942901d6e | 20 | while(1) |
dongyanzhi | 0:3ba942901d6e | 21 | { |
dongyanzhi | 0:3ba942901d6e | 22 | hal_sleep(); |
dongyanzhi | 0:3ba942901d6e | 23 | if(sig == 7) |
dongyanzhi | 0:3ba942901d6e | 24 | { |
dongyanzhi | 0:3ba942901d6e | 25 | sig=0; |
dongyanzhi | 0:3ba942901d6e | 26 | i=0; |
dongyanzhi | 0:3ba942901d6e | 27 | pc.printf("%s",buffer); |
dongyanzhi | 0:3ba942901d6e | 28 | memset(buffer,0,sizeof(buffer)); |
dongyanzhi | 0:3ba942901d6e | 29 | } |
dongyanzhi | 0:3ba942901d6e | 30 | } |
dongyanzhi | 0:3ba942901d6e | 31 | } |
dongyanzhi | 0:3ba942901d6e | 32 | |
dongyanzhi | 0:3ba942901d6e | 33 | |
dongyanzhi | 0:3ba942901d6e | 34 | void getline() |
dongyanzhi | 0:3ba942901d6e | 35 | { |
dongyanzhi | 0:3ba942901d6e | 36 | buffer[i] = gps.getc(); |
dongyanzhi | 0:3ba942901d6e | 37 | if(buffer[i] == 0x0a) |
dongyanzhi | 0:3ba942901d6e | 38 | { |
dongyanzhi | 0:3ba942901d6e | 39 | sig++; |
dongyanzhi | 0:3ba942901d6e | 40 | } |
dongyanzhi | 0:3ba942901d6e | 41 | i++; |
dongyanzhi | 0:3ba942901d6e | 42 | } |