打印

编译下来 keil 总是报错

[复制链接]
1605|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiaxw|  楼主 | 2012-11-8 23:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序里有很多浮点运算 程序没问题

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

但编译下来 keil 总是报错
沙发
spark周| | 2012-11-8 23:11 | 只看该作者
是内存不够用吗

使用特权

评论回复
板凳
jiaxw|  楼主 | 2012-11-8 23:12 | 只看该作者
还有keil有很多警告  

使用特权

评论回复
地板
liliang9554| | 2012-11-8 23:13 | 只看该作者
应该是函数不重入引起的

使用特权

评论回复
5
午夜粪车| | 2012-11-8 23:13 | 只看该作者
再建立一个函数,功能与原函数一样,在中断中调用即可

使用特权

评论回复
6
zhaoxqi| | 2012-11-8 23:14 | 只看该作者
LS 正解
或者在调用这个函数前禁止下中断执行完后再开放中断

使用特权

评论回复
7
jiajs| | 2012-11-8 23:17 | 只看该作者
中断ISR采用其余寄存器组,那么在该嵌套调用中不至于破坏原先处理到一半的状态,此处需要注意关闭寄存器绝对寻址

使用特权

评论回复
8
zhanghqi| | 2012-11-8 23:18 | 只看该作者
用reentrant,这样会从0xFF(默认)开始倒向模拟一个堆栈,用以处理可重入问题

使用特权

评论回复
9
jiaxw|  楼主 | 2012-11-8 23:18 | 只看该作者
听得云里雾去啊  不是很明白

使用特权

评论回复
10
zhanghqi| | 2012-11-8 23:19 | 只看该作者
就是一个函数同时被调用,C51默认是不允许的。一定这么做的话,需要在函数前加reentrant关键词

使用特权

评论回复
11
jiaxw|  楼主 | 2012-11-8 23:21 | 只看该作者
好的, 我再调试一下吧

使用特权

评论回复
12
jiaxw|  楼主 | 2012-11-8 23:22 | 只看该作者
先结贴了

使用特权

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

本版积分规则

825

主题

9762

帖子

4

粉丝