[STM32F4] sscanf 函数无法正确读取浮点值

[复制链接]
13|1
地瓜patch 发表于 2026-6-8 19:15 | 显示全部楼层 |阅读模式
我用PC通过 UART 串口以字节数组格式将数据发送到 STM32F407。单片机接收数据后,我将数据转换为原始格式如整型和浮点型。
转换整型数据没有问题,但是浮点数据存在精度异常:pc发送的 1.3,在 CubeIDE 中会被转换为 1.29999995。

因此我编写了一个使用sprintf和sscanf的函数,将 1.29999995 修正为 1.3。
sprintf可以正确将数值写入字符串数组str结果为 1.30,但是sscanf无法将字符串中的数值读取回浮点变量。

183686a2689805f223.png 209086a26899441953.png


CarterERO 发表于 2026-6-8 19:46 | 显示全部楼层
检查sscanf格式字符串,应为"%f",并且确保接收的浮点数没有多余的字符。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

2715

主题

17351

帖子

30

粉丝
快速回复 在线客服 返回列表 返回顶部
0