2019-07-14 20:16发布
cuyebiren 发表于 2016-10-24 18:17 不是应该先校验成功再用数据吗?接受buf[]是8位的,直接CRC校验啊。8位数据是可以和32位float相互转换的,就是通过指针。
布莱恩 发表于 2016-10-24 11:49 那怎么校验呢,MODBUS需要进行CRC检验,需要将帧数据每次取出8位进行运算,如果不先将浮点数转换为二进制或者十六进制,那该怎么校验呢?
最多设置5个标签!
我是用matlab做主机,发给PLC,要先生产CRC
ModBus 发送的时候最后两个字节是CRC校检,ModBus发送一个浮点数的时候,也是直接拆分成无符号char类型,然后根据大小端换一下顺序吧,确定好发送数据的顺序之后进行CRC校检,把校检结果放在一帧的结尾。接收到之后直接对数据进行CRC校检,然后还原浮点数。
一周热门 更多>