STM32+GPS

[复制链接]
5940|6
 楼主| lqab1983 发表于 2013-7-11 17:08 | 显示全部楼层 |阅读模式
STM32103VET6   库函数3.5

网上找了个处理GPS数据的例程,大概改了改,但是不出数。大家能给看看吗?

void USART1_IRQHandler(void)
{
u8 ch;

if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)    //若接收数据寄存器满  
   {     
    USART_ClearITPendingBit(USART1,USART_IT_RXNE);  //清中断标志位
    ch = USART_ReceiveData(USART1);   

   
    if ((ch == '$') && (gps_flag == 0))  //如果收到字符'$',便开始接收
    {
      rev_start = 1;
      rev_stop  = 0;
    }  

if (rev_start == 1)  //标志位为1,开始接收
    {
   rev_buf[num++] = ch;  //字符存到数组中
   if (ch == '\n')  //如果接收到换行
   {
     USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);  //关闭USART1 接收中断
     rev_buf[num] = '\0';
     rev_start = 0;
     rev_stop  = 1;
     gps_flag = 1;
     num = 0;
     
     if (rev_stop)   //如果接收完一行
     {
     if (GPS_GGA_Parse(rev_buf, &GPS)) //解析GPGGA
     {
        error_num = 0;
        gps_flag = 0;
        rev_stop = 0;
     gpgga_flag = 1;
     }
     else
     {
     error_num++;
     if (error_num >= 20) //如果数据无效超过20次
              {
                error_num = 20;
               }
              gps_flag = 0;
              rev_stop = 0;
     gpgga_flag = 0;
     }


    if (GPS_RMC_Parse(rev_buf, &GPS)) //解析GPRMC
     {
        error_num = 0;
      gps_flag = 0;
        rev_stop  = 0;
     gprmc_flag = 1;
       }
    else
       {
         error_num++;
         if (error_num >= 20) //如果数据无效超过20次
         {
       error_num = 20;
         }
          gps_flag = 0;
          rev_stop  = 0;
       gprmc_flag = 0;
       }

               if (GPS_GSV_Parse(rev_buf, &GPS)) //解析GPGGA
     {
        error_num = 0;
        gps_flag = 0;
        rev_stop = 0;
     gpgsv_flag = 1;
     }
     else
     {
     error_num++;
     if (error_num >= 20) //如果数据无效超过20次
              {
                error_num = 20;
               }
              gps_flag = 0;
              rev_stop = 0;
     gpgsv_flag = 0;
     }
   
      }
  
      }
  }
}
}
cjhk 发表于 2013-7-11 20:49 | 显示全部楼层
不是很了解这一块    帮你顶一个   有时间好好看看先   顶起来   
outstanding 发表于 2013-7-12 14:15 | 显示全部楼层
帮顶,。。,。,。
拿起书本 发表于 2013-7-13 18:53 | 显示全部楼层
这个论坛关于GPS的问题讨论的不多,顶楼主
le46710 发表于 2013-7-19 15:31 | 显示全部楼层
我发不了链接.无线电杂志里的GPS Logger V2有程序下载,自己百度一下.但是下载链接里有快车下载,有些浏览器会报风险,自己掂量吧.
我感觉里面解析GPS协议的代码写得还不错
疏影临书卷 发表于 2017-7-7 12:05 | 显示全部楼层
顶,我也想做这个,但是不知道从何做起
xzf361 发表于 2017-7-7 17:15 | 显示全部楼层

不懂帮顶
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

53

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部