标题: STC15F104W单片机两个外部中断怎样用?求思路 [打印本页]

作者: 非凡科技    时间: 2021-12-30 17:11
标题: STC15F104W单片机两个外部中断怎样用?求思路
最想近做个遥控白炽灯调光,遥控部分用INT3外部中断,调光用INT0外部中断,单独都可以用,放一起就不行,求个思路谢谢!!
作者: 兴安xa    时间: 2021-12-30 20:37
这两个端口控制暗亮就行了,遥控另开端口吧
作者: 非凡科技    时间: 2021-12-30 21:11
我的意思是两个外部中断怎样做互不影响
作者: 非凡科技    时间: 2021-12-30 21:13
兴安xa 发表于 2021-12-30 20:37
这两个端口控制暗亮就行了,遥控另开端口吧

调光是一个普通口做的PWM输出一个中断口过零触发。  遥控器也要一个外部中断,我想问的是两个外部中断怎样互不影响,现在是一按遥控灯泡就闪
作者: 温xyz    时间: 2021-12-30 21:30
肯定互相影响的,中断有优先等级,不可能同时处理。调光就用定时器中断行了。
作者: 非凡科技    时间: 2021-12-30 21:48
温xyz 发表于 2021-12-30 21:30
肯定互相影响的,中断有优先等级,不可能同时处理。调光就用定时器中断行了。

调光要用过零触发,需要外部中断的,红外遥控也要用一个外部中断。
作者: 188610329    时间: 2021-12-30 22:00
说到底就是代码设计不合理,如果中断只是响应后做一个标志,怎么可能互相影响?

然后,红外线接收主要用到的应该是定时器,而绝对不应该是外部中断,即便需要用外部中断最多也就是在接受到第一次下降沿之后就应该启用定时器来分析红外码,最多就是几us的事情。
作者: lkc8210    时间: 2021-12-30 22:40
说了那么多
又不贴代码
我们哪知道你写的中断为什么会互相影响?
别人3,4个中断一起用也没事?
作者: Y_G_G    时间: 2021-12-31 14:36
中断是肯定会相互影响的
红外是应该用定时器捕获模式的,这样占用的资源就会少一点
如果你已经写好等待查询的模式,那就把过零中断优先等级设定为更高级就行了,因为红外如果是等待查询模式的话,时间是相对要长的
过零部分的红优先级要高于红外的,而且,处理要简单,最多一两个语句就行了,其它处理要放在主函数中处理
作者: jhczy    时间: 2021-12-31 15:37
过零触发外部中断是每0.01秒一次,是不能变的,红外遥控触发的时间是随机的,所以,处理不好肯定存在着相互影响的时候,这种情况下,要改变一下处理程序的思路
作者: jhczy    时间: 2021-12-31 15:39
9楼说的没错,按其思路修正程序
作者: 非凡科技    时间: 2021-12-31 20:22
Y_G_G 发表于 2021-12-31 14:36
中断是肯定会相互影响的
红外是应该用定时器捕获模式的,这样占用的资源就会少一点
如果你已经写好等待查 ...

感谢回复  马上试试
作者: 非凡科技    时间: 2021-12-31 20:23
jhczy 发表于 2021-12-31 15:37
过零触发外部中断是每0.01秒一次,是不能变的,红外遥控触发的时间是随机的,所以,处理不好肯定存在着相互 ...

谢谢指导




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1