STM8外部中断:如何区分同一PORT中的不同脚,如PD1和PD2

因工程需要,中断用到同一PORT中的两个脚,PD1和PD2,设置PORTD为下降沿触发中断:PD1或PD2下降沿都能进入以下中断函数中,但要如何区别具体是哪个脚引起的中断... 因工程需要, 中断用到同一PORT中的两个脚, PD1和PD2 , 设置PORTD为下降沿触发中断:PD1或PD2 下降沿都能进入以下中断函数中, 但要如何区别具体是哪个脚引起的中断了?谢谢!@near @interrupt void EXTI_PORTD_IRQHandler (void){ } 展开
 我来答
匿名用户
2017-09-03
展开全部
不能判断电平,会产生误导;如上升沿,下降沿边触发,是瞬态产生,可能在没有来得及判断时,中断就已经进行了;
举个例子,在PC口有的PC0和PC1两个信号都要求能够中断。而STM8S 对应PC口只有一个 中断向量,我要怎么才能够知道具体是有PC0引起的中断呢?还是PC1引起的中断呢?
我也看了坛子里面的一些相关的帖子,大致有这么一种方法,进入中断后读取IO口的电平状态 以判断是哪个IO口引起的中断。 但是我有个疑问,假定设置为下降沿触发中断。PC0先出现下降沿,系统进入中断,如果在这个时间段,PC1也出现下降沿,在中断里面再读PC0和PC1电平状态,仍然不能够判别是由PC0引起的中断,还是由PC1触发的中断啊!!
不建议这样用 最好一个PC,一个PD,每个口只开放一个中断;
那这样,一个PORT, 每个独立的中断口就没有意义了?
STM8S有5组IO端口,每组端口分别有若干引脚可以作为外部中断触发输入,分别为:
端口A: PA[6:2];端口B: PB[7:0];端口C: PC[7:0];端口D: PD[6:0];端口E: PE[7:0]。
匿名用户
2013-11-02
展开全部
你可以在中断里面判断电平,就知道是哪个引脚 了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式