浮点运算

[复制链接]
467|12
手机看帖
扫描二维码
随时随地手机跟帖
wangzsa|  楼主 | 2019-6-15 15:03 | 显示全部楼层 |阅读模式

程序里有很多浮点运算 程序没问题

还有我把浮点运算放在中断里了,这有什么不妥吗??

但编译下来 keil 总是报错

使用特权

评论回复
zhuww| | 2019-6-15 15:04 | 显示全部楼层

程序里有很多浮点运算 程序没问题

还有我把浮点运算放在中断里了,这有什么不妥吗??

但编译下来 keil 总是报错

使用特权

评论回复
zhuww| | 2019-6-15 15:09 | 显示全部楼层
是内存不够用吗

使用特权

评论回复
wangzsa|  楼主 | 2019-6-15 15:12 | 显示全部楼层
486425d049a53224d2.png

使用特权

评论回复
zhanglli| | 2019-6-15 15:15 | 显示全部楼层

应该是函数不重入引起的

使用特权

评论回复
lium| | 2019-6-15 15:21 | 显示全部楼层
再建立一个函数,功能与原函数一样,在中断中调用即可

使用特权

评论回复
hanwe| | 2019-6-15 15:25 | 显示全部楼层

LS 正解
或者在调用这个函数前禁止下中断执行完后再开放中断

使用特权

评论回复
yufe| | 2019-6-15 15:28 | 显示全部楼层
中断ISR采用其余寄存器组,那么在该嵌套调用中不至于破坏原先处理到一半的状态,此处需要注意关闭寄存器绝对寻址

使用特权

评论回复
wangpe| | 2019-6-15 15:31 | 显示全部楼层

用reentrant,这样会从0xFF(默认)开始倒向模拟一个堆栈,用以处理可重入问题

使用特权

评论回复
wangzsa|  楼主 | 2019-6-15 15:34 | 显示全部楼层
听得云里雾去啊  不是很明白

使用特权

评论回复
langgq| | 2019-6-15 15:37 | 显示全部楼层
就是一个函数同时被调用,C51默认是不允许的。一定这么做的话,需要在函数前加reentrant关键词

使用特权

评论回复
wangpe| | 2019-6-15 15:41 | 显示全部楼层
是不是**的不完全啊,你的代码量已经超出了本版本的限制

使用特权

评论回复
wangzsa|  楼主 | 2019-6-15 15:44 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

914

主题

9040

帖子

5

粉丝