51单片机中断怎样嵌套?
我要用到定时器0中断和外部中断0,两个中断处理函数,程序是C语言的,请问下高手怎样进行中断的嵌套呢?外部中断优先级高些,那么我在程序里面怎样做使得我在处理外部中断的时候把...
我要用到定时器0中断和外部中断0,两个中断处理函数,程序是C语言的,请问下高手怎样进行中断的嵌套呢?外部中断优先级高些,那么我在程序里面怎样做使得我在处理外部中断的时候把定时器的中断保护下来,等到外部中断处理完了之后再返回处理定时器的中断,其实就是这里面的一个思路我不清楚,请高手不吝赐教............
我的意思是程序里面具体怎么处理?就是写这个程序的思路是怎样的 展开
我的意思是程序里面具体怎么处理?就是写这个程序的思路是怎样的 展开
6个回答
展开全部
51单片机总共支持5个中断源,
分别为外部中断0,定时器0,外部中断1,定时器,串行中断
这5个中断源都可以独立申请中断
当需要同时进行两个中断时,
即可自动通过中断嵌套的方式来进行
比如说,当需要用外部中断0来启动和停止定时器计数
由于外部中断0的优先级比定时器0的优先级高
所以当定时器正在计数时
若有外部中断申请
则会中断正在运行的定时器中断函数,
响应外部中断0的中断请求
这一过程即为中断嵌套。
中断嵌套只需要设定中断优先级即可
是自动完成的。
只要有对应的中断服务函数,即可自动完成中断嵌套的过程
分别为外部中断0,定时器0,外部中断1,定时器,串行中断
这5个中断源都可以独立申请中断
当需要同时进行两个中断时,
即可自动通过中断嵌套的方式来进行
比如说,当需要用外部中断0来启动和停止定时器计数
由于外部中断0的优先级比定时器0的优先级高
所以当定时器正在计数时
若有外部中断申请
则会中断正在运行的定时器中断函数,
响应外部中断0的中断请求
这一过程即为中断嵌套。
中断嵌套只需要设定中断优先级即可
是自动完成的。
只要有对应的中断服务函数,即可自动完成中断嵌套的过程
展开全部
51单片机不存在嵌套问题,一个中断服务必须退出后,才能相应其他中断。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要实现嵌套的中断,把这个中断的优先级设置为高,就可以了
在特殊功能寄存器IP里面,你查一下每个位都代表什么中断,让哪个中断高优先级,就把哪个位设置为1
在特殊功能寄存器IP里面,你查一下每个位都代表什么中断,让哪个中断高优先级,就把哪个位设置为1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
外部中断优先级设置为高就行了。
你需要确定单片机的处理能力足够,如果中断来得太频繁了,堆栈溢出,程序就跑飞了。
程序里面设置外部中断为高优先级就行了,然后各个中断的程序都不变,不影响的。
你需要确定单片机的处理能力足够,如果中断来得太频繁了,堆栈溢出,程序就跑飞了。
程序里面设置外部中断为高优先级就行了,然后各个中断的程序都不变,不影响的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置好优先级就可以了,剩下的你不用管,自己就嵌套了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询