打印

STM32+GPS

[复制链接]
5546|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的问题讨论的不多,顶楼主

使用特权

评论回复
5
le46710| | 2013-7-19 15:31 | 只看该作者
我发不了链接.无线电杂志里的GPS Logger V2有程序下载,自己百度一下.但是下载链接里有快车下载,有些浏览器会报风险,自己掂量吧.
我感觉里面解析GPS协议的代码写得还不错

使用特权

评论回复
6
疏影临书卷| | 2017-7-7 12:05 | 只看该作者
顶,我也想做这个,但是不知道从何做起

使用特权

评论回复
7
xzf361| | 2017-7-7 17:15 | 只看该作者

不懂帮顶

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

53

帖子

0

粉丝