搜索
bottom↓
回复: 7

【求助】还是单片机浮点数运算产生0.NAN的问题 ,急

[复制链接]

出0入0汤圆

发表于 2009-8-31 16:52:24 | 显示全部楼层 |阅读模式
上次发帖   求助 ,IAR中watch中的变量值显示0.NaN是什么原因
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3369180&bbs_page_no=1&search_mode=3&search_text=jizzll&bbs_id=9999

后来加看门狗忽视了这个问题,现在发现这个问题还是比较严重的,所以重新描述一下问题的所在,求大家多多指点

    程序中涉及到浮点数运算,而且公式1比较简单,公式2比较复杂。公式中涉及到4个输入变量(传感器获得),30个浮点数参数(开机后从E2读出存入全局变量数组)



开机的时候,读外部E2,然后把参数存入几个数组(约30个浮点数)
进入while循环
{
传感器获取4个变量值,
4个变量值代入公式1(不怎么复杂)
4个变量代入公式2(较复杂)
其他操作
}

运算公式1是不存在问题的,关键是偶尔运算公式2会出现结果为0.NAN(在4个输入变量几乎不变的情况下),整个程序运行一遍约花300mS,  出现问题的时间长短不定,有时候几分钟,有时候几个小时都是正常的


求大家多指点指点,问题可能出现在哪里

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-8-31 17:35:47 | 显示全部楼层
可能原因:
因为采集数据出错导致
1.超出浮点运算范围,数值太大。
2.运算中被0除
3.开方或log运算中出现负数

建议对采集的数据进行校验。

出0入0汤圆

 楼主| 发表于 2009-9-1 00:10:14 | 显示全部楼层
可能原因:
因为采集数据出错导致
1.超出浮点运算范围,数值太大。
2.运算中被0除
3.开方或log运算中出现负数

建议对采集的数据进行校验。
--------------------------------------------------------------------------

运算出现错误的时候,我查看了4个传感器变量,没有发现问题的

出0入0汤圆

发表于 2009-9-1 00:18:54 | 显示全部楼层
帖出公式看看。

出0入0汤圆

 楼主| 发表于 2009-9-1 16:45:37 | 显示全部楼层
能否给一个邮箱?公司的东西不敢直接贴在网上的。

兄弟见谅啊

出0入0汤圆

发表于 2009-9-2 08:25:16 | 显示全部楼层
直接用单片机做浮点运算?一般都是变成定点之后在运算。比如通过移位或者扩大倍数等等,反正使用浮点运算速度慢,出错率高,仅仅是精度比定点要好。不过这么高的精度一般是不需要的。

出0入0汤圆

 楼主| 发表于 2009-9-2 19:48:37 | 显示全部楼层
用来做流量计方面的,浮点数的参数太多,移位等方式太烦琐了

出0入0汤圆

发表于 2011-11-7 23:10:33 | 显示全部楼层
你邮箱多少啊楼主,做什么样的流量计?很关注,麻烦回复。lankuaker@163.com
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-25 20:13

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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