串口发送接收浮点型数据

在调试nrf24L01无线通信模块过程中,遇到浮点数通过串口传输的问题。由于需要FPGA与PC机通过串口进行通信,文中介绍了将浮点数转换为unsigned char发送,然后在接收端重新组合成浮点数的方法。重点讨论了大端存储与小端存储的处理以及字对齐的重要性。提供了发送和接收端的处理方式。

最近正在调试nrf24L01无线通行模块,由于要fpga与PC机相互通信,PC机没spi,所以要个开发板转发,数据传输流程如下:

上位机 <-> 串口 <-> ARM开发板 <-> spi<->nrf24L01<->另一个nrf24L01<->spi<->fpga开发板。

其中遇到一个头疼的问题是传输的都是浮点型数,但发送接受的是unsigned char型。

float,占4字节,包括符号位(1位,第31位),指数为(8位,-126~128,22~30位),尾数位(23位,0~22位)


当时想出了两种方案

(1)其实精度要求不高的话,直接把浮点数X100转化成16位或32位整数,在拆分为

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值