引用: xia2742 发表于 2016-10-23 22:22
我是把他转换成文本的
引用: cuyebiren 发表于 2016-10-24 10:37
把地址直接赋给浮点数指针,然后在取指针指向单元的值。单片机会自动按浮点数取值
如 : float * fp; fp = (flaot *)&buf[5]; *fp;
引用: he07413 发表于 2016-10-24 11:35
我觉得你把浮点的四个字节,原封不动的以二进制发出去,。接收端再以uint8类型从地址tab(变量名,只是举个例子)存放,原封不动的接收。最后定义一个浮点数指针float* p = tab 。P就是那个浮点数了
引用: cuyebiren 发表于 2016-10-24 18:17
不是应该先校验成功再用数据吗?接受buf[]是8位的,直接CRC校验啊。8位数据是可以和32位float相互转换的,就是通过指针。
引用: cuyebiren 发表于 2016-10-24 18:17
不是应该先校验成功再用数据吗?接受buf[]是8位的,直接CRC校验啊。8位数据是可以和32位float相互转换的,就是通过指针。
引用: 布莱恩 发表于 2016-10-24 11:49
那怎么校验呢,MODBUS需要进行CRC检验,需要将帧数据每次取出8位进行运算,如果不先将浮点数转换为二进制或者十六进制,那该怎么校验呢?
更多回帖