打印

请问8051单片机用到中断嵌套,都要注意什么问题?

[复制链接]
4420|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xlsbz|  楼主 | 2012-4-14 08:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2012-4-14 08:43 | 只看该作者
函数重入,寄存器组的使用。。。

使用特权

评论回复
板凳
g1234567| | 2012-4-14 12:22 | 只看该作者
除了LS的外,
还需注意下高优先级的中断运行时间尽量短,以期快速退出该中断

使用特权

评论回复
地板
xlsbz|  楼主 | 2012-4-14 13:32 | 只看该作者
2# ayb_ice
多谢大侠  这些我目前都注意到了:

中断调用的函数只让中断自己用;
我不乱用using,而让编译器自己分配寄存器组。好像从keil6.x开始 就自动分配了。

使用特权

评论回复
5
xlsbz|  楼主 | 2012-4-14 13:39 | 只看该作者
各位大侠  我还想到一个可能会出问题的地方----------堆栈溢出

我那个单片机 好像是256字节的RAM,我现在仅仅用了14个字节的rAM.

51中断 keil分配寄存器  把中断里面直接定义的变量都分配了固定内存。

而如果中断里面直接调用函数,函数的临时变量好像也是固定分配内存的吧???我没试过!
各位大侠觉得函数的临时变量是固定分配内存的么?

使用特权

评论回复
6
xlsbz|  楼主 | 2012-4-14 13:41 | 只看该作者
3# g1234567
多谢!这个我尽量注意到

使用特权

评论回复
7
xlsbz|  楼主 | 2012-4-14 13:56 | 只看该作者
5# xlsbz
好像中断里面不能直接调用自己写的不可重入的带参数的函数吧、。?

哎  我的基础知识都忘光光了!!!

使用特权

评论回复
8
沈老| | 2012-4-14 19:33 | 只看该作者
中断嵌套分‘部分嵌套’和‘全嵌套’,能中断自己的叫全嵌套,如果需要全嵌套则表示中断任务运行时间太长,或者硬件不满足要求。一般只使用‘部分嵌套’。

使用特权

评论回复
9
xlsbz|  楼主 | 2012-4-14 22:44 | 只看该作者
有没有其他高人说说啊

使用特权

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

本版积分规则

190

主题

1614

帖子

4

粉丝