STM32-外部中断常见问题记录

在工作中遇到了一些问题,现在记录在这里方便以后查看

1. STM32的外部中断触发方式

STM32只支持边缘触发,而不支持电平触发.

2. STM32外部中断分组

STM32中,每一个GPIO都可以当作是外部中断输入口, 并根据引脚编号将中断进行了分组.

引脚标号0~4的IO管脚有独立的中断源.

引脚标号5-9的IO管脚共享一个中断源

引脚标号10-13的IO管脚共享一个中断源

3. 外部中断服务函数不能触发分析

主要是因为以下几点造成了服务函数无法进入

1)GPIO或者AFIO的时钟没有开启,比较常见的是忘记了开启AFIO时钟;

2)GPIO和配置的中断线路不匹配;

3)中断触发方式和实际不相符合;

4) NVIC配置与实际不匹配,使用了错误的NVIC_IRQChannel,建议在stm32f10x.h中查找对应Channel.

5)使用了错误的中断处理函数名,这种情况多出于使用库函数. 建议在startup_stm32f***.s中查找对应中断函数名;

6)不能检测到边缘,这种情况多发生在引脚处于悬空状态, 建议上拉或者下拉方式固定引脚平时的电平

转载于:https://www.cnblogs.com/zhx831/p/3247560.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于STM32来说,要实现方波中断去抖动,可以采取以下几个步骤: 1. 配置外部中断:首先,需要配置外部中断的触发方式为边沿触发模式。这可以通过设置EXTI寄存器来实现。对于方波信号,可以选择上升沿触发或下降沿触发。 2. 设置去抖动延时:为了去除方波信号的抖动,可以在中断触发前添加一个适当的延时。延时的长度应根据具体情况进行调整,以确保稳定的触发。 3. 编写中断处理函数:在中断触发时,将执行中断处理函数。在处理函数中,可以读取方波输入的电平,并进行相应的处理。这可以包括记录计数器、更新状态或执行其他操作。 4. 考虑消抖算法:为了进一步提高方波中断的稳定性,可以考虑使用软件消抖算法。常见的软件消抖算法包括按键消抖算法和滑动窗口消抖算法。这些算法可以根据实际需求来选择和实现。 需要注意的是,外部中断可能无法完全消除方波信号的抖动,特别是在高频率或复杂的信号情况下。因此,根据具体应用场景的要求,可能需要进一步优化或使用其他方法来处理方波信号的抖动。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [stm32学习笔记-5EXIT外部中断](https://blog.csdn.net/weixin_46258766/article/details/129480323)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值