请教一下关于串口传输浮点数的问题

2019-07-21 04:52发布

各位大神,小白想请教一下关于串口传输浮点数的问题。我定义了一个浮点数并赋值,用sizeof看过是四个内存,用printf函数通过串口3发送出去,然后串口2接收,接收的串口中断函数是直接用原子的,就是用U8类型数组来存数据,当接收完整个浮点数后就通过串口1把用来接收的数据发送到串口调试助手进行查看,但调试的时候发现定义的最大接收字节数要大于8调试助手那里才能完整接收整个浮点数,我想问下4个内存的数据却要8个内存的数组来接收,这是不是我哪个步骤错了

主函数中用printf函数发送浮点数
微信图片_20190301102033.png
while中的if函数,接收完整个浮点数后就通过串口1把用来接收的数据发送到串口调试助手进行查看

微信图片_20190301102041.png
串口2的中断接收函数
微信图片_20190301102045.png
串口头文件中参数设置
微信图片_20190301102049.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
szczyb1314
1楼-- · 2019-07-21 08:32
你可以啊,串口3发给串口2,然后再串口1发出去?
心怀若谷
2楼-- · 2019-07-21 08:37
szczyb1314 发表于 2019-3-1 14:25
你可以啊,串口3发给串口2,然后再串口1发出去?

对呀,学习嘛。我是用串口2和串口3模拟两个单片机之间的通信,就直接拿杜邦线把串口2和串口3连到一起了,串口1输出只是为了方便用串口调试助手来查看数据传输的数据

一周热门 更多>