你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用STM32cubemx的外部中断只能触发一次

[复制链接]
张亚飞 提问时间:2017-5-26 16:37 /
配置截图在下边,还有外部输入的三路PWM方波的截图。 我们的需求是三个GPIO做外部中断,接三路PWM方波输入,方波周期为60ms,高电平20ms低电平40ms。
现在的问题是,GPIO的管脚只有配置成无上下拉模式,下降沿触发时才会收到中间那一路的波形一次,然后不再触发中断(注意三路中仅会触发中间那一路的波形)。  如果改成上拉或者下拉模式以及触发方式,其中任何一种都不会触发中断。
我没有用过外部中断,不知道为什么会出现这样的问题。 哪位有经验的朋友给说下如何解决吧,谢谢。(今天在线等)

GPIO配置

GPIO配置


中断配置

中断配置

Code

Code
)


三路输入波形图

三路输入波形图

收藏 评论8 发布时间:2017-5-26 16:37

举报

8个回答
zhao.zhao 回答时间:2017-5-27 08:56:35
第一个图的第5列设为NO pull-up and NO pull-down 试试
张亚飞 回答时间:2017-5-27 09:44:04
zhao.zhao 发表于 2017-5-27 08:56
第一个图的第5列设为NO pull-up and NO pull-down 试试

我在程序里边改成你说的无上拉模式,在截图里没改。只有改成无上拉模式然后是下降沿触发才会进来一次中断,之后就再触发不了中断了。
any012 回答时间:2017-5-27 14:43:43
本帖最后由 any012 于 2017-5-27 14:44 编辑

你不是有stlink吗?用stlink看下是否能进到外部中断。
另,示波器截图,是单片机管脚的波形吗?
张亚飞 回答时间:2017-5-27 16:51:38
any012 发表于 2017-5-27 14:43
你不是有stlink吗?用stlink看下是否能进到外部中断。
另,示波器截图,是单片机管脚的波形吗?
...

示波器的截图是输入的波形,用来触发外部中断的。
zhao.zhao 回答时间:2017-5-28 09:04:37
看看中断函数
void EXTI4_IRQHandler(void)
{
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
}
张亚飞 回答时间:2017-5-31 09:31:39
zhao.zhao 发表于 2017-5-28 09:04
看看中断函数
void EXTI4_IRQHandler(void)
{

外部中断,中断优先级,中断处理函数,翻转管脚的程序都在这了。
翻转.png

外部中断.png

优先级.png

中断处理函数.png
zhao.zhao 回答时间:2017-5-31 10:00:13
设置引脚中断是对的,设置中断优先级也是对的,中断函数也没有问题,那问题在哪儿呢?中断回调函数中的PA.2#这个引脚初始化了没有?瞎猜的
张亚飞 回答时间:2017-5-31 16:39:38
zhao.zhao 发表于 2017-5-31 10:00
设置引脚中断是对的,设置中断优先级也是对的,中断函数也没有问题,那问题在哪儿呢?中断回调函数中的PA.2 ...

找到问题了,跟配置没有关系。 电路有点问题,波形到cpu管脚时出了问题。 现在已经好了。

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版