新手入门
- 积分
- 19
- 金钱
- 19
- 注册时间
- 2016-3-14
- 在线时间
- 3 小时
|
1金钱
官方例程如下:这条语句作用是什么_ublox_cfg_rate *cfg_rate=(_ublox_cfg_rate *)USART3_TX_BUF;
例程中没用到USART3_TX_BUF,定义这个数组意义何在?
还有探索者STM32F4 GPS例程中
//串口发送缓存区
__align(8) u8 USART3_TX_BUF[USART3_MAX_SEND_LEN]; //发送缓冲,最大USART3_MAX_SEND_LEN字节
为什么要字节对齐?
谢谢各位大牛
//配置UBLOX NEO-6的更新速率
//measrate:测量时间间隔,单位为ms,最少不能小于200ms(5Hz)
//reftime:参考时间,0=UTC Time;1=GPS Time(一般设置为1)
//返回值:0,发送成功;其他,发送失败.
u8 Ublox_Cfg_Rate(u16 measrate,u8 reftime)
{
_ublox_cfg_rate *cfg_rate=(_ublox_cfg_rate *)USART3_TX_BUF;
if(measrate<200)return 1; //小于200ms,直接退出
cfg_rate->header=0X62B5; //cfg header
cfg_rate->id=0X0806; //cfg rate id
cfg_rate->dlength=6; //数据区长度为6个字节.
cfg_rate->measrate=measrate;//脉冲间隔,us
cfg_rate->navrate=1; //导航速率(周期),固定为1
cfg_rate->timeref=reftime; //参考时间为GPS时间
Ublox_CheckSum((u8*)(&cfg_rate->id),sizeof(_ublox_cfg_rate)-4,&cfg_rate->cka,&cfg_rate->ckb);
Ublox_Send_Date((u8*)cfg_rate,sizeof(_ublox_cfg_rate));//发送数据给NEO-6M
return Ublox_Cfg_Ack_Check();
}
|
最佳答案
查看完整内容[请看2#楼]
1,相当于给他分配内存.实际上就是使用串口3的这个数组来作为配置数组指针的内存地址. 2,字节对齐的作用,请自行百度.
|