注册 登录
查看: 3135|回复: 22

[其他] IAR 浮点打印的变通方法【同理适合液晶显示浮点】

[复制链接]
发表于 2015-1-28 13:55:01 | 显示全部楼层 |阅读模式
IAR库自带的浮点是有问题的,参考如下帖子:IAR 输出浮点失败的解决方法 - 智能车资料区 - http://vcan123.com/forum.php?mod=viewthread&tid=2878

可以通过变通的方法来实现打印浮点数:
浮点数乘以 100 (保留2位小数点)

  1. float a;
  2. int b =( int) a;//整数部分
  3. printf("%d.%02d",b,(int)((a-b)*100));   


这里是用printf,当然也可以用sprintf转换成字符串保存在数组里。
同理,理由液晶显示字符串函数,可将字符串显示到屏幕上。




本帖被以下淘专辑推荐:

回复

使用道具 举报

 楼主| 发表于 2015-1-28 13:55:44 | 显示全部楼层
IAR 自带的printf函数打印浮点有bug,所以容易出现打印浮点会进入硬件上访的问题,需要变通一下。
回复 支持 反对

使用道具 举报

发表于 2015-1-28 14:22:36 | 显示全部楼层
顶一个                     
回复 支持 反对

使用道具 举报

发表于 2015-1-28 15:29:03 | 显示全部楼层
好办法!不过山外哥!我现在不打印!只定义一个浮点数就会卡死!
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-28 15:33:25 | 显示全部楼层
ii童话Bū说话 发表于 2015-1-28 15:29
好办法!不过山外哥!我现在不打印!只定义一个浮点数就会卡死!

你Q我,我远程看看吧
回复 支持 反对

使用道具 举报

发表于 2015-1-31 12:59:56 | 显示全部楼层
山外メ雲ジ 发表于 2015-1-28 13:55
IAR 自带的printf函数打印浮点有bug,所以容易出现打印浮点会进入硬件上访的问题,需要变通一下。

请问,我在我在中断里的变量,在主函数里无法让oled显示,这是怎么了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-1-31 13:42:42 | 显示全部楼层
875710462 发表于 2015-1-31 12:59
请问,我在我在中断里的变量,在主函数里无法让oled显示,这是怎么了?

新问题,发新帖来问吧。
把相关代码也发上来看看。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

发表于 2015-2-1 16:18:48 | 显示全部楼层
山外メ雲ジ 发表于 2015-1-31 13:42
新问题,发新帖来问吧。
把相关代码也发上来看看。

这个问题困扰我了很久,求大神指教

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-2-1 17:25:23 | 显示全部楼层
875710462 发表于 2015-2-1 16:18
这个问题困扰我了很久,求大神指教

变量加上volatile 修饰看看
回复 支持 反对

使用道具 举报

发表于 2015-2-2 11:37:54 | 显示全部楼层
山外メ雲ジ 发表于 2015-1-31 13:42
新问题,发新帖来问吧。
把相关代码也发上来看看。

我的等级不够,好像还不能发帖吧
回复 支持 反对

使用道具 举报

发表于 2015-2-5 12:21:34 | 显示全部楼层
山外メ雲ジ 发表于 2015-2-1 17:25
变量加上volatile 修饰看看

我按照你的硬仿,问题解决了,是进入死循环的原因,谢谢山外哥的指教
回复 支持 反对

使用道具 举报

发表于 2015-2-5 13:06:54 | 显示全部楼层
875710462 发表于 2015-2-5 12:21
我按照你的硬仿,问题解决了,是进入死循环的原因,谢谢山外哥的指教

硬仿?
回复 支持 反对

使用道具 举报

发表于 2015-2-5 13:42:05 | 显示全部楼层

硬件仿真啊,好吧那叫在线调试,我不够专业
回复 支持 反对

使用道具 举报

发表于 2015-2-15 03:56:46 来自手机 | 显示全部楼层
哈哈,我一直用这个方法
回复 支持 反对

使用道具 举报

发表于 2015-3-13 09:13:33 | 显示全部楼层
那我往 串口写入 浮点呢。比如我要用串口调试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-13 11:28:58 | 显示全部楼层
蒲公英 发表于 2015-3-13 09:13
那我往 串口写入 浮点呢。比如我要用串口调试

看楼主帖。
来自安卓客户端来自安卓客户端
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2015-3-13 16:46:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2015-4-2 19:50:21 | 显示全部楼层
如果是负的浮点数怎么办?
回复 支持 反对

使用道具 举报

发表于 2015-7-5 19:20:09 | 显示全部楼层
875710462 发表于 2015-2-2 11:37
我的等级不够,好像还不能发帖吧

请问你们怎么办浮点数显示到oled上的。

回复 支持 反对

使用道具 举报

发表于 2015-7-5 19:24:26 | 显示全部楼层
山外哥,还是打印不了。按照你的方法打印出来硬件上访
回复 支持 反对

使用道具 举报

发表于 2015-10-20 18:37:48 | 显示全部楼层
收藏
回复 支持 反对

使用道具 举报

发表于 2015-10-20 18:42:28 | 显示全部楼层
飘柔似水 发表于 1436095466
山外哥,还是打印不了。按照你的方法打印出来硬件上访
开硬件浮点
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

发表于 2015-10-20 18:42:29 | 显示全部楼层
飘柔似水 发表于 1436095466
山外哥,还是打印不了。按照你的方法打印出来硬件上访
开硬件浮点
来自PC客户端 来自PC客户端
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部