收藏本站|联系艾锐达|在线留言|网站地图欢迎您来到深圳市艾锐达光电有限公司!

艾锐达服务热线0755-26902860

热门关键词: 锐能微计量芯片IM系列计量模块直流电能表智能电表专用光耦荣湃隔离器鸿志压敏电阻

艾锐达光电
当前位置:首页 » 艾锐达光电资讯中心 » 常见问题 » RN8209与MCU之间的通信接口,如何计算帧校验码?

RN8209与MCU之间的通信接口,如何计算帧校验码?

文章出处:艾锐达FAE责任编辑:艾锐达编辑人气:-发表时间:2016-04-25 15:58【

无论是SPI接口或是UART接口,向RN8209内部校表参数寄存器写数据都必须先写使能,即先写0xEA 0xE5 0x30(最后字节0x30是校验码,必须由主机发送),再接着写寄存器,比如写HFCONST为0x6119的帧格式为 0x82 0x61 0x19 0x03 首字节最高位为1代表写寄存器操作,低7位为HFCONST的地址0x02,

后跟随0x61 0x19注意是高字节在前,低字节在后,最后是校验码为0x03(计算方法是从首字节0x82开始计算帧的累加和,不计高位溢出,计算累加和后字节按位取反。0x82+0x61+0x19计算结果是0xfc,取反就得到校验码0x03。读寄存器的时候,主机发送读寄存器命令(最高位为0,低7位为寄存器地址),从机RN8209返回所读寄存器数据,例如读0x7f器件ID寄存器,RN8209返回0x82 0x09 0x00 0xf5 说明0xf5为从机返回的校验码,计算方法如下0x7f + 0x82 + 0x09 + 0x00 = 0x0A,按位取反得到0xf5校验码。特别说明,该命令通常用来测试MCU与RN8209之间的通信是否正常。

 

我要分享: