51单片机中断怎样嵌套?

我要用到定时器0中断和外部中断0,两个中断处理函数,程序是C语言的,请问下高手怎样进行中断的嵌套呢?外部中断优先级高些,那么我在程序里面怎样做使得我在处理外部中断的时候把... 我要用到定时器0中断和外部中断0,两个中断处理函数,程序是C语言的,请问下高手怎样进行中断的嵌套呢?外部中断优先级高些,那么我在程序里面怎样做使得我在处理外部中断的时候把定时器的中断保护下来,等到外部中断处理完了之后再返回处理定时器的中断,其实就是这里面的一个思路我不清楚,请高手不吝赐教............
我的意思是程序里面具体怎么处理?就是写这个程序的思路是怎样的
展开
 我来答
lphaff
推荐于2017-09-20 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1565
采纳率:72%
帮助的人:624万
展开全部
51单片机总共支持5个中断源,
分别为外部中断0,定时器0,外部中断1,定时器,串行中断
这5个中断源都可以独立申请中断
当需要同时进行两个中断时,
即可自动通过中断嵌套的方式来进行
比如说,当需要用外部中断0来启动和停止定时器计数
由于外部中断0的优先级比定时器0的优先级高
所以当定时器正在计数时
若有外部中断申请
则会中断正在运行的定时器中断函数,
响应外部中断0的中断请求
这一过程即为中断嵌套。
中断嵌套只需要设定中断优先级即可
是自动完成的。
只要有对应的中断服务函数,即可自动完成中断嵌套的过程
zhxiufan
2018-07-30 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38386
国家科技进步奖

向TA提问 私信TA
展开全部
51单片机不存在嵌套问题,一个中断服务必须退出后,才能相应其他中断。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b04b15b3b
推荐于2017-09-05 · TA获得超过1360个赞
知道小有建树答主
回答量:894
采纳率:0%
帮助的人:707万
展开全部
需要实现嵌套的中断,把这个中断的优先级设置为高,就可以了
在特殊功能寄存器IP里面,你查一下每个位都代表什么中断,让哪个中断高优先级,就把哪个位设置为1
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友27209e7cd
2010-02-21 · TA获得超过1404个赞
知道小有建树答主
回答量:805
采纳率:0%
帮助的人:928万
展开全部
外部中断优先级设置为高就行了。

你需要确定单片机的处理能力足够,如果中断来得太频繁了,堆栈溢出,程序就跑飞了。

程序里面设置外部中断为高优先级就行了,然后各个中断的程序都不变,不影响的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sdtitan
2010-02-19 · TA获得超过286个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:157万
展开全部
设置好优先级就可以了,剩下的你不用管,自己就嵌套了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式