利用strstr和sscanf解析GPS信息
作者:杨硕,华清远见嵌入式学院讲师。
考察C程序员是否合格的一个重要标准就是看他操作字符串的能力,
比如说我们要做一个GPS导航的项目,
GPS输出的数据格式如下:
$GPGGA,121252.000,3937.3032,N,
$GPRMC,121252.000,A,3958.3032,
$GPVTG,359.95,T,,M,15.15,N,28.
$GPGGA,121253.000,3937.3090,N,
$GPGSA,A,3,14,15,05,22,18,26,,
$GPGSV,3,1,10,18,84,067,23,09,
$GPGSV,3,2,10,21,32,199,23,14,
$GPGSV,3,3,10,29,07,074,,30,
可以看到,GPS模块发送过来的原始数据有很多,
$GPRMC,121252.000,A,3958.3032,
因此我们需要做的就是从读取的数据中截取以$
假设从串口读取的数据存放在一个字符串指针char *raw_buf指向的内存单元里,首先我们通过ANSI C提供的strstr()函数找到以$GPRMC开头以换行符’
/* find "$GPRMC" from raw_buf */
if ((wellhandled_string = strstr(raw_buf, “$GPRMC”)) != NULL)
{
for (i=0; i
"利用strstr和sscanf解析GPS信息 作者:杨硕,华清远见嵌入式学院讲师。 考察C程序员是否合格的一个重要标准就是看他操作字符串的能力,一个合格的C程序员应该可以熟练的对字符串进行拆分、组合、格式转换以及搜索定位,从一堆数据中提取出有效信息。 比如说我们要做一个GPS导航的项目,需要读取GPS模块以ASCII码的形式发送过来的数据,然后对这些数据进行处理,提取我们需要的信息。这就涉及到很多操作字符串的问题。下面就以此为例,利用strstr函数和sscanf函数解析GPS数据。"
- 利用strstr和sscanf解析GPS信息-- 嵌入式学院(华清远见旗下品牌) (在「Google 網頁註解」中檢視)
No comments:
Post a Comment