永发信息网

用飞思卡尔DZ60做的串口程序

答案:1  悬赏:0  手机版
解决时间 2021-01-31 15:48
用飞思卡尔DZ60做的串口程序,C语言
串口程序调通
串口功能是接收NMEA数据
经过解析后只留下&GPGGA………………*的数据
然后串口发送
现在串口程序调试完成,但是数据解析不会做,希望高手能提供个解析的代码。
最佳答案
你要做的只是按nmea_tokenizer_init解析出来,再按下面那一段把它更新所代表的变量即可。看一下就明白了啊。

这个是拿到一个NMEA语句之后进行解析的,解析成一个一个的token.
123 static int
124 nmea_tokenizer_init( NmeaTokenizer* t, const char* p, const char* end )
125 {
126 int count = 0;
127 char* q;
128
129 // the initial '$' is optional
130 if (p < end && p[0] == '$')
131 p += 1;
132
133 // remove trailing newline
134 if (end > p && end[-1] == '\n') {
135 end -= 1;
136 if (end > p && end[-1] == '\r')
137 end -= 1;
138 }
139
140 // get rid of checksum at the end of the sentecne
141 if (end >= p+3 && end[-3] == '*') {
142 end -= 3;
143 }
144
145 while (p < end) {
146 const char* q = p;
147
148 q = memchr(p, ',', end-p);
149 if (q == NULL)
150 q = end;
151
152 if (count < MAX_NMEA_TOKENS) {
153 t->tokens[count].p = p;
154 t->tokens[count].end = q;
155 count += 1;
156 }
157
158 if (q < end)
159 q += 1;
160
161 p = q;
162 }
163
164 t->count = count;
165 return count;
166 }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
托克逊县人才交流服务中心怎么去啊,我要去那
哈密地区公共就业服务局地址在什么地方,想过
图示是根尖的结构及细胞分裂和分化的情况。相
春天下雨后的竹笋长得很多很快比喻新事物打量
哈密市人力资源开发交流中心地址有知道的么?
哈密市创业指导服务中心地址在什么地方,我要
“同一个世界 同一个梦想”的理解
以前的老十块现在多少钱
伊吾县人力资源开发交流中心地址有知道的么?
第三师51团劳动力管理站地址有知道的么?有点
556分能上什么大学
小明是1994年出生的.小明8随时,爷爷64岁,到20
石龙区平顶山何记桂花面这个地址在什么地方,
现在adc和adc solo哪个强?有人曾告诉我是德
兵团第十三师就业服务中心地址在什么地方,想
推荐资讯
夏普SH8118U经常重启怎么办充一夜电都是90%
兰州那里有儿童玩具批发市场
猪流感是由猪流感病毒引起的一种呼吸道传染病
在南宁如何办理皈依证谢谢了,大神帮忙啊
久久二手车(宁波江东区中兴北路41临)地址在什
影剧院地址好找么,我有些事要过去
一个两位数,个位上的数字是x,十位上的数字是y
观察人体血液循环模式图,据图分析回答下列问
在爱尔兰读本科会计专业什么学校好?
中行房贷15日还款日是不是下午5点之前还了就
邵阳市建设委员会怎么去啊,我要去那办事
docker中mysql怎么查看密码
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?