前言
使用union的方式传输float数据 发送端把float拆成char发送出去,接收端收到之后重新解码会flaot 之前windows端就是这么做的,没什么问题
最近在树莓派上用同样的方式,使用GPIO串口通信,windows端使用xcom一次发送数据(16进制): 4C 4C 14 AE 13 41 00 00 20 C1 9A 99 07 42 00 00 00 00 00 C0 79 44 00 C0 79 C4 ED
参考wiringPi库串口详解 当要接收的数据量过大时,wiringPi建议使用 read这个函数。
因此开始使用read函数,但接收解码后数据一直不对。
后来使用serialDataAvail看了一下可读取的字节数,发现每次最多8个字节 所以用serialGetchar循环多读几次。
用write写写入文件,开始在前面天机printf会导致文件打开失败, 后来改用printf 保存到文件