配置截图在下边,还有外部输入的三路PWM方波的截图。 我们的需求是三个GPIO做外部中断,接三路PWM方波输入,方波周期为60ms,高电平20ms低电平40ms。 现在的问题是,GPIO的管脚只有配置成无上下拉模式,下降沿触发时才会收到中间那一路的波形一次,然后不再触发中断(注意三路中仅会触发中间那一路的波形)。 如果改成上拉或者下拉模式以及触发方式,其中任何一种都不会触发中断。 我没有用过外部中断,不知道为什么会出现这样的问题。 哪位有经验的朋友给说下如何解决吧,谢谢。(今天在线等) GPIOé ç½® ä¸æé ç½® 来 Code ä¸è·¯è¾å ¥æ³¢å½¢å¾ |
我在程序里边改成你说的无上拉模式,在截图里没改。只有改成无上拉模式然后是下降沿触发才会进来一次中断,之后就再触发不了中断了。
你不是有stlink吗?用stlink看下是否能进到外部中断。
另,示波器截图,是单片机管脚的波形吗?
示波器的截图是输入的波形,用来触发外部中断的。
void EXTI4_IRQHandler(void)
{
HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
}
外部中断,中断优先级,中断处理函数,翻转管脚的程序都在这了。
找到问题了,跟配置没有关系。 电路有点问题,波形到cpu管脚时出了问题。 现在已经好了。