常见问答

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

作者:艾锐达光电         时间:2016.04.25        浏览:-


无论是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之间的通信是否正常。