STM8 GPIO外部中断的没有中断标志位.----是硬伤,直接想骂它的设计人员

2019-12-18 18:49发布

首先,端口的八个GPIO共用一个中断向量.
每个GPIO能够独立配置上升下降作为中断触发条件.
但是这个功能实际上没有太大用处,因为STM8的GPIO中断居然只有中断使能位,没有中断标志位!

举例说明:
想要在A1,A2口上实现两个必须上升沿触发中断的按钮或者外设,需要共用EXT_A的中断向量.
假设有一时间发生了EXT_A中断,进入了中断服务函数.现在没有中断标志位,直接导致要用很复杂的算法才能判断到底是哪个口上发生的中断.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
snoopyzz
1楼-- · 2019-12-23 16:36
 精彩回答 2  元偷偷看……
kcfoo1
2楼-- · 2019-12-23 19:35
最悲催的是开了外部中断,在中断里是无法查询IDR的状态,即使你在中断里将io口中断关掉设置成上拉输入,比如不能再下降沿中断里等待信号变成高电平,只能又变成上升沿中断,在一些时序要求高的解码程序里,就又得出栈压栈,高速传输很容易出问题
NanceMichael
3楼-- · 2019-12-23 21:46
确实感觉STM8不好用。要设置选项字,还有不能在Keil上编写。整的IAR和STVP真心不如Keil好用。以前冲着价格便宜勉强接受,现在是价格还高了。一颗STM8S003都要三四块钱了。一点优势都没有,还是支持国产吧,能让“国芯”要强大起来出份力,不像中兴一样被美国制裁来个休克状态,好可怕。
focus_hai
4楼-- · 2019-12-23 23:21
LZ再仔细研究研究吧~等确认研究透了再发牢骚~~
chxaitz
5楼-- · 2019-12-23 23:53
millwood0 发表于 2012-7-1 09:31
EXTI, unlike other interrupts, does not have its own status register / flag, as you indicated.

Ho ...

赞一下你,终于有明白人了,是这样的。

一周热门 更多>