OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5250|回复: 2

GPS语句求解...

[复制链接]

12

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-1-12
在线时间
14 小时
发表于 2015-2-2 16:38:52 | 显示全部楼层 |阅读模式
5金钱
u8 Ublox_Cfg_Prt(u32 baudrate)
{
_ublox_cfg_prt *cfg_prt=(_ublox_cfg_prt *)USART2_TX_BUF;
cfg_prt->header=0X62B5; //cfg header
cfg_prt->id=0X0006; //cfg prt id
cfg_prt->dlength=20; //数据区长度为20个字节.
cfg_prt->portid=1; //操作串口1
cfg_prt->reserved=0; //保留字节,设置为0
cfg_prt->txready=0; //TX Ready设置为0
cfg_prt->mode=0X08D0; //8位,1个停止位,无校验位
cfg_prt->baudrate=baudrate; //波特率设置
cfg_prt->inprotomask=0X0007;    //0+1+2
cfg_prt->outprotomask=0X0007;   //0+1+2
  cfg_prt->reserved4=0; //保留字节,设置为0
  cfg_prt->reserved5=0; //保留字节,设置为0 
    
    
Ublox_CheckSum((u8*)(&cfg_prt->id),sizeof(_ublox_cfg_prt)-4,&cfg_prt->cka,&cfg_prt->ckb);
    
while(DMA1_Channel7->CNDTR!=0);   //等待通道7传输完成   
UART_DMA_Enable(DMA1_Channel7,sizeof(_ublox_cfg_prt)); //通过dma发送出去
delay_ms(200); //等待发送完成 
USART2_Init( baudrate);   //重新初始化串口2   
return Ublox_Cfg_Ack_Check();     //这里不会反回0,因为UBLOX发回来的应答在串口重新初始化的时候已经被丢弃了.
}
其中Ublox_CheckSum((u8*)(&cfg_prt->id),sizeof(_ublox_cfg_prt)-4,&cfg_prt->cka,&cfg_prt->ckb);是什么意思啊 ,为什么要减去4呢,麻烦指导一下

最佳答案

查看完整内容[请看2#楼]

楼主去看u-blox6_ReceiverDescriptionProtocolSpec_GPS.G6-SW-10018-C.pdf 这个文档,学习下check sum是怎么计算的,就知道了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-2-2 16:38:53 | 显示全部楼层
楼主去看u-blox6_ReceiverDescriptionProtocolSpec_GPS.G6-SW-10018-C.pdf
这个文档,学习下check sum是怎么计算的,就知道了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

14

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
金钱
204
注册时间
2014-12-16
在线时间
10 小时
发表于 2015-2-2 20:42:21 | 显示全部楼层
我估计是这样,这个是计算一个组字节的校验和的函数,而且这个校验和是放在最后四字节的。所以计算的时候,不用计算最后4个字节,当然,如果最后四个字节是0(看ublox_cfg_ptr函数是这样),不减4也没事,具体要看CheckSum是怎样实施的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-26 04:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表