dy-rB5RTBKq:
#ifndef__MYNMEA_H#define__MYNMEA_H#include"stdint.h"#include #includetypedefenum{ GPNON =0x00, GPGGA =0x01, GPGSA =0x02, GPGSV =0x04, GPRMC =0x08, GPVTG =0x10 }nmeaPACKTYPE;typedefstruct{char status; /**<定位状态,A=有效定位,V=无效定位*/uint16_t speed; /**地面速率(0000.0~1851.8公里/小时,前面的0也将被传输)*/}nmeaINFO;//需要获取的信息//********************************************//********************************************//********************************************#defineRX_BUF_SIZE 10 //UART接收缓存大小//********************************************#defineUART_RX_Flag 0x01//staFlag[0]:UART是否接收到新的数据#defineGET_CHECKSUM_OK 0X02//staFlag[1]:是否已经计算出检验和#defineGET_CHECKSUM_ENABLE0X04//staFlag[2]:是否使能校验和计算//********************************************typedefstruct{ uint8_t staFlag; //状态标志便变量 uint8_t checkStaFlag; // uint8_t checkSum[2]; uint8_t num; char rxDatNew; //当前串口接受到的数据 char rxBuf[RX_BUF_SIZE]; //UART接收缓存数组:存放接收到的速度数据 uint8_t pBuf; //BUF指针角标 uint8_t rxNum; // nmeaPACKTYPE nmeaPackType;}NMEA_Typedef;//************************************************externNMEA_TypedefnmeaTypedef;voidNmeaRx(void);voidNmeaDataDeal(void);#endif//__MYNMEA_H