嵌入式技术论坛
登录
直播中
其实znvm
8年用户
1187经验值
擅长:电源/新能源
私信
关注
[问答]
printf打印浮点数前后半部分时间输出不一样这是为什么
开启该帖子的消息推送
printf函数
回帖
(11)
陈伟
2022-8-22 14:28:41
用 snprintf 转换到内存,然后使用 rt_kprintf
用 snprintf 转换到内存,然后使用 rt_kprintf
举报
其实znvm
2022-8-22 14:28:58
我用了这个函数转换,跟LOG()一样。到后面那个小数点就消失了。
我用了这个函数转换,跟LOG()一样。到后面那个小数点就消失了。
举报
陈伟
2022-8-22 14:29:09
你用的是 printf 函数,这个不敢说是哪儿引起的。很奇怪,底层处理怎么刚好把点号丢了。
但是对于浮点数打印 snprintf 转换目前是最可靠的
你用的是 printf 函数,这个不敢说是哪儿引起的。很奇怪,底层处理怎么刚好把点号丢了。
但是对于浮点数打印 snprintf 转换目前是最可靠的
举报
其实znvm
2022-8-22 14:29:28
后
后
举报
陈伟
2022-8-22 14:29:39
这么神奇?后面仨变量的值可以添加到表达式吗?他们都是正常的?
这么神奇?后面仨变量的值可以添加到表达式吗?他们都是正常的?
举报
其实znvm
2022-8-22 14:29:51
是的,后面的值是正常的。就是打印出来不正常。不过我已经解决了。以前是RT官方的好像不能打印浮点数,后来修改了底层的rt_vsnprintf()为vsnprintf()可以正常输出浮点数,可能是后来升级了,又不能很好支持了。突然发现又换回RT官方的rt_vsnprintf()就又正常了。
是的,后面的值是正常的。就是打印出来不正常。不过我已经解决了。以前是RT官方的好像不能打印浮点数,后来修改了底层的rt_vsnprintf()为vsnprintf()可以正常输出浮点数,可能是后来升级了,又不能很好支持了。突然发现又换回RT官方的rt_vsnprintf()就又正常了。
举报
陈伟
2022-8-22 14:30:01
如果你是改过这里,可能是多线程的原因,无论是 snprintf 还是 rt_vsnprintf 都没有多线程竞争保护。
如果你是改过这里,可能是多线程的原因,无论是 snprintf 还是 rt_vsnprintf 都没有多线程竞争保护。
举报
其实znvm
2022-8-22 14:30:08
我猜也是线程不安全引起的。
我猜也是线程不安全引起的。
举报
张杰
2022-8-22 14:30:20
放大100倍,用整形打印
放大100倍,用整形打印
举报
其实znvm
2022-8-22 14:30:28
感谢。方法知道的,提出这个事情,就是想知道LOG()本身存在BUG,还是操作不对。
感谢。方法知道的,提出这个事情,就是想知道LOG()本身存在BUG,还是操作不对。
举报
杨福林
2022-8-22 14:30:37
可能是内存问题,增大堆栈空间可以解决打印没有小数点的问题。
可能是内存问题,增大堆栈空间可以解决打印没有小数点的问题。
举报
更多回帖
rotate(-90deg);
回复
相关问答
printf函数
怎么
样
更方便快速地将
浮点数
输出
到显示器件上呢
2021-12-02
777
rt-thread-studio不支持
printf
打印
浮点数
要怎么添加编译选项?
2023-09-07
2071
为什么使用IAR开发STM32发现无法通过
printf
重定向到串口
打印
出
浮点数
呢
2021-12-02
1784
如何解决SMT32CuBeIDE
printf
无法
输出
浮点数
的问题?
2021-12-01
1401
怎样在UCOS的任务中用
printf
正确
打印
浮点数
格式呢
2021-12-02
1056
CH32调用
printf
无法
打印
浮点数
是什么问题?
2022-05-17
1555
为什么韦老师2440裸机lcd测试程序中
printf
不能
输出
浮点数
?
2019-07-16
1531
为什么用IAR开发STM32发现
printf
库不支持
浮点数
的的
输出
呢
2021-12-02
1675
浮点数
如何存储?
2020-12-30
2210
瑞萨单片机如何发送
浮点数
???求解,
2015-08-02
5383
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分