这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 合作大赛 » MXTOS-200的串口数据解析

共3条 1/1 1 跳转至

MXTOS-200的串口数据解析

菜鸟
2013-06-12 18:37:44     打赏

不是什么新东西,但是强烈推荐!!!因为不久之前我还看到过有同学用自己写的状态机来解析串口接收到的字符串,自己做符号-整数转换,根本没必要花这个精力。推荐使用C语言提供的字符串处理函数sscanf,其作用是从一个字符串中读进与指定格式相符的数据。用在GPS数据接收和消息提取中十分方便。

例如GPGMV报文的格式为:$GPGMV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*<9><CR><LF>

那么提取数据的方法为:


keyword=strstr(buffer,"GPGMV");

sscanf(keyword,"GPGMV,%[^,],%lf,%c,%lf,%c,%f,%f,%f,%f,%f"

      ,gmvData.utc_time,&(gmvData.latitude_value)

      ,&(gmvData.latitude),&(gmvData.longitude_value)

,&(gmvData.longitude),&(gmvData.alti)

,&(gmvData.speedE),&(gmvData.speedN)

,&(gmvData.speedU),&(gmvData.azimuth_angle));

在串口中断函数中只需要判断结束符\r\n即可,十分方便。sscanf在string.h中





关键词: 串口     数据     解析     sscanf    

高工
2013-06-13 14:47:35     打赏
2楼
great!

菜鸟
2013-09-15 17:05:45     打赏
3楼
很有用。

共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]