注册 登录
查看: 4852|回复: 31

[K60] IAR 输出浮点失败的解决方法

[复制链接]
发表于 2014-3-21 19:43:10 | 显示全部楼层 |阅读模式
看图,按着图中设置即可。



我测试的例程是:
  1. float t= 0.333;
  2. printf("%.3f",t);
输出结果为:0.333

测试平台是 K60DZ10,IAR6.3
按理 应该 IAR 6.7 和 K60FX15 和 KL26 都可以的。

如果不行,那就只能用变通的方法:
IAR 浮点打印的变通方法 - 智能车资料区 - http://vcan123.com/forum.php?mod=viewthread&tid=7735

本帖子中包含更多资源

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

x

本帖被以下淘专辑推荐:

  • · 山外K60|主题: 56, 订阅: 52
  • · IAR|主题: 17, 订阅: 5
回复

使用道具 举报

发表于 2014-4-16 20:50:13 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-16 20:12
你开了硬件浮点吗?

没有,我在其他帖子里面看见有网友说开硬件浮点不稳定,我就没有去找开硬件浮点的帖子,也就没有开硬件浮点。
PS:请问DWT延时之前都好使,现在又不行了,会卡在一个地方,就是坛友发过的那个地方,请问哪我该用哪个函数来延时呢?谢谢!
回复 支持 0 反对 1

使用道具 举报

发表于 2015-8-8 13:32:38 | 显示全部楼层
实践证明,并不是IAR库的问题,使用ProcessorExpert生成代码,使用IAR编译,输出浮点数很正常。PE输出的代码并没有标准库,而是使用的IAR自带的.
回复 支持 1 反对 0

使用道具 举报

发表于 2014-3-21 20:14:47 | 显示全部楼层
顶一个,好给力
回复 支持 反对

使用道具 举报

发表于 2014-3-21 22:54:47 | 显示全部楼层
强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

发表于 2014-3-22 10:16:38 | 显示全部楼层
山外哥C:\Users\Administrator\Desktop改了还是不行
回复 支持 反对

使用道具 举报

发表于 2014-3-22 10:18:01 | 显示全部楼层
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****显示这些耶
回复 支持 反对

使用道具 举报

发表于 2014-3-22 10:18:34 | 显示全部楼层
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****


HardFault Interrupt
****default_isr entered on vector 3*****显示这些耶
回复 支持 反对

使用道具 举报

发表于 2014-3-22 11:45:58 | 显示全部楼层
Garjam 发表于 2014-3-22 10:18
****default_isr entered on vector 3*****

确定选择的是 一模一样的?rebuild 一下工程试试?

另外,把 栈空间 加大 试试
回复 支持 反对

使用道具 举报

发表于 2014-3-24 19:48:16 | 显示全部楼层
Garjam 发表于 2014-3-22 10:18
****default_isr entered on vector 3*****

哥们 你的 问题解决了吗
回复 支持 反对

使用道具 举报

发表于 2014-3-29 20:07:10 | 显示全部楼层
这个绝对要顶
回复 支持 反对

使用道具 举报

发表于 2014-4-3 21:54:33 | 显示全部楼层
用不了,什么也发不上来,第二次下载后芯片解锁了才能用
回复 支持 反对

使用道具 举报

发表于 2014-4-16 20:07:46 | 显示全部楼层
我的也是用不了,也是前几楼那个错误,不知道为什么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-16 20:12:30 | 显示全部楼层
木君之上 发表于 2014-4-16 20:07
我的也是用不了,也是前几楼那个错误,不知道为什么

你开了硬件浮点吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-16 20:55:43 | 显示全部楼层
木君之上 发表于 2014-4-16 20:50
没有,我在其他帖子里面看见有网友说开硬件浮点不稳定,我就没有去找开硬件浮点的帖子,也就没有开硬件浮 ...

可以用PIT或者滴答定时器。

程序总停在while(DWT_CYCCNT < et); - 智能车讨论区 - 山外-vcan123论坛 http://www.vcan123.com/forum.php ... tid=2407&ctid=1
回复 支持 反对

使用道具 举报

发表于 2014-4-16 21:07:21 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-16 20:55
可以用PIT或者滴答定时器。

程序总停在while(DWT_CYCCNT < et); - 智能车讨论区 - 山外-vcan123论坛 ht ...

请问是不是一定一熬开硬件浮点才能使用打印浮点数?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-16 21:40:45 | 显示全部楼层
木君之上 发表于 2014-4-16 21:07
请问是不是一定一熬开硬件浮点才能使用打印浮点数?

不是的,开了会不稳定的。
IAR的自带库 有bug,多尝试几种方案。
回复 支持 反对

使用道具 举报

发表于 2014-4-16 22:11:19 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-16 21:40
不是的,开了会不稳定的。
IAR的自带库 有bug,多尝试几种方案。

求助,程序又卡在了commonstartup()里面了,debug里面我选择了run to main(),但是还是这样
我只要全速运行就出不去commonstartup,只有一步一步的走,然后再main出现的时候点击进入函数,然后等走到main里面的while(1)的时候再点全速运行才能正常运行,请问这是怎么回事呢?
谢谢!
回复 支持 反对

使用道具 举报

发表于 2014-4-16 22:19:56 | 显示全部楼层
木君之上 发表于 2014-4-16 22:11
求助,程序又卡在了commonstartup()里面了,debug里面我选择了run to main(),但是还是这样
我只要全速 ...

超频太高了?
回复 支持 反对

使用道具 举报

发表于 2014-4-16 22:28:39 | 显示全部楼层
丁玉 发表于 2014-4-16 22:19
超频太高了?

我跑的屙屎标准的100M,没有超频。现在我只有一步一步进入main函数的while循环才能全速运行,其他任何地方点全速运行都会跑到sys_init(). common_startup()这连个函数里面,这两个函数下面就是main函数入口,但是就是不进去,哎,复位之后也是这样,唯一的方法就是通过调试一点一点进去,
回复 支持 反对

使用道具 举报

发表于 2014-4-16 22:29:26 | 显示全部楼层
木君之上 发表于 2014-4-16 22:28
我跑的屙屎标准的100M,没有超频。现在我只有一步一步进入main函数的while循环才能全速运行,其他任何地方 ...

山外哥的原始工程也是这样?
回复 支持 反对

使用道具 举报

发表于 2014-4-16 23:56:49 | 显示全部楼层
丁玉 发表于 2014-4-16 22:29
山外哥的原始工程也是这样?

没有,我改动的地方有,我想用FLASH,但是加进去之后DWT延时就卡死了,于是他们建议我用systick延时,于是我改了,于是就成这样了,
回复 支持 反对

使用道具 举报

发表于 2014-4-18 20:52:13 | 显示全部楼层
设置了,但是串口没有信号了
回复 支持 反对

使用道具 举报

发表于 2014-10-10 17:19:51 | 显示全部楼层
Garjam 发表于 2014-3-22 10:18
****default_isr entered on vector 3*****

你的问题解决了吗?! 能给点建议吗?
回复 支持 反对

使用道具 举报

发表于 2015-1-1 21:53:56 | 显示全部楼层
初次设置可以,断电在上电就打印不出来
回复 支持 反对

使用道具 举报

发表于 2015-1-15 21:19:00 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-16 20:12
你开了硬件浮点吗?

山外哥按照你图片的修改还是浮点还是输不出来......还能怎么改呀???求助山外哥
回复 支持 反对

使用道具 举报

发表于 2015-1-15 21:32:03 | 显示全部楼层
山外メ雲ジ 发表于 2014-4-16 20:12
你开了硬件浮点吗?

按照这个图片修改,浮点数还是无法输出。。。。求助山外哥

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2015-1-20 09:36:25 | 显示全部楼层
还是无法输出啊?什么情况,我的输出是f。。。。。。
回复 支持 反对

使用道具 举报

发表于 2015-1-20 21:31:46 | 显示全部楼层
山外哥,我想问一下:
我在程序前边定义了一个全局变量  
double Cita;

我想把角度放在一个变量里面让下面的运算继续使用的,

就是我把计算角度的asin放在中断里面,为什么输出的角度都是整数,而且每一段时间还会出现一个很大的数


[img]file:///D:\360data\重要数据\我的文档\Tencent Files\1342877227\Image\C2C\[XN]WSGEU7(MW5)13PALAG9.png[/img]
如果我把计算角度的公式放在printf里面的话,输出的数就对了





这是怎么回事啊,求指教
[img]file:///D:\360data\重要数据\我的文档\Tencent Files\1342877227\Image\C2C\[XN]WSGEU7(MW5)13PALAG9.png[/img]


本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

发表于 2015-3-10 18:02:36 | 显示全部楼层
木君之上 发表于 2014-4-16 22:11
求助,程序又卡在了commonstartup()里面了,debug里面我选择了run to main(),但是还是这样
我只要全 ...

但愿对你有帮助 
在寻求解决方法的过程中,偶然将  flash_init() 中的关于 MK60FX 的相关函数删除就正常了(尽管里面有条件编译), is it  weried  ?   
在后来的实验过程中,又出问题,表现为
OLED_Fill(0xff);
Delay_ms(500);
OLED_Fill(0x00);
flash_init();
Read_ParamValue(); // 读取参数
gpio_init(PTC18,GPO,0); // LED3
uart_putstr(UART3,"I love china! \r\n");
EnableInterrupts;
如果在函数 Read_ParamValue() 内干过多的事情,就会出现闪屏现象;  
解决方法:将fash_init() 替换为野火旧版本库中的(5.0之前) 就正常了

回复 支持 反对

使用道具 举报

发表于 2016-2-24 14:35:40 | 显示全部楼层
DN的也可以么?
回复 支持 反对

使用道具 举报

发表于 2016-2-24 17:15:47 | 显示全部楼层
定义float形式后,断言失败是什么问题啊??
回复 支持 反对

使用道具 举报

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

本版积分规则

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