首先,端口的八个GPIO共用一个中断向量.
每个GPIO能够独立配置上升下降作为中断触发条件.
但是这个功能实际上没有太大用处,因为STM8的GPIO中断居然只有中断使能位,没有中断标志位!
举例说明:
想要在A1,A2口上实现两个必须上升沿触发中断的按钮或者外设,需要共用EXT_A的中断向量.
假设有一时间发生了EXT_A中断,进入了中断服务函数.现在没有中断标志位,直接导致要用很复杂的算法才能判断到底是哪个口上发生的中断.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
在开发bootloader的过程中,文档推荐不要使用中断系统.
要实现一个下跳沿或者上升沿的检测,如果有中断标志位就很方便;如果没有就只能先等一个电平,然后再等下一个电平.
如果这个电平持续时间长还好,要是持续时间短到只有1us,就凭stm8 16M条件下的处理能力,基本上检测不出来.
-----------------------------------------------------------------------
复杂的算法我也没有想好,先在这发发牢骚.
也希望其他人能够给我指条明路.
一周热门 更多>