dongyanzhi gps

Dependencies:   mbed

Committer:
dongyanzhi
Date:
Fri Jun 09 02:45:45 2017 +0000
Revision:
0:3ba942901d6e
dongyanzhi gps

Who changed what in which revision?

UserRevisionLine numberNew 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 }