STM32外部中断总结

STM32的外部中断是我们在学习stm32的一个必要模块,外部中断的用途可以增加人机交互的体验,也可以增加程序的执行效率。下面将以一个小实验来记录外部中断的使用需要注意的事项

实验现象

 串口上会不停的打印    buff[]数字 按下PA0、PC13、PH3、PH4,串口显示出相应的管脚名称,灯也有不同的状态。

上代码:在消抖后一定注意在此判断一下按键是否按下,否则很难消除误触
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{HAL_Delay(10);switch (GPIO_Pin){case GPIO_PIN_0: if(1==HAL_GPIO_ReadPin( GPIOA,   GPIO_PIN_0)){printf("PA0"); HAL_GPIO_TogglePin( GPIOB,  GPIO_PIN_0); }break;case GPIO_PIN_2: if(0==HAL_GPIO_ReadPin( GPIOH,   GPIO_PIN_2)){printf("PH2"); HAL_GPIO_TogglePin( GPIOB,  GPIO_PIN_1);}break;case GPIO_PIN_3:if(0==HAL_GPIO_ReadPin( GPIOH,   GPIO_PIN_3)){printf("PH3");HAL_GPIO_TogglePin( GPIOB,  GPIO_PIN_1|GPIO_PIN_0);}    break;case GPIO_PIN_13:printf("PC13");HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1|GPIO_PIN_0,0);break;default:break;}}

main.c

printf("buff:%d\r\n",buff);buff++;df[0] =HAL_GPIO_ReadPin( GPIOH,GPIO_PIN_1);HAL_Delay(1000);

注意

  • 管脚是上拉还是下拉 准循 按键按下的后的高低电平 如果是低电平 上拉 高电平 下拉


在NVIC中要注意:

  1. 中断是否使能
  2. 外部中断的优先级要低于 系统时钟的优先级 我们在使用延时消抖的时候会用到延时消抖 如果优先级高的话将无法退出中断


HAL库中断处理函数中注意圈中的函数先后顺序 应当是先执行服务函数,在清除中断标志位

STM32外部中断总结相关推荐

  1. STM32外部中断与各通道对应关系

    EXTI0_IRQn的值,其实就是EXTI0中断向量在中断向量表中的位置(STM32技术参考手册中断向量表position栏中的数值) 一:外部中断使用配置过程: (1)配置时钟信号 (2)引脚属性 ...

  2. STM32外部中断干扰解决方案

    STM32 外部中断很容易受干扰误触发,无论上拉下拉设置都没有效果,最后采用软件判断解决该问题. 进入外部中断程序需同时判断引脚电平是否和上升触发和下降触发一致,这个判断很重要. void EXTI3 ...

  3. STM32——外部中断

    目录 外部中断简述 什么是外部中断 传统单片机与新型单片机外部中断区别 STM32外部中断请求 STM32中断线与IO口的对应 STM32 中断服务函数 外部中断与中断服务函数的对应 中断服务函数列表 ...

  4. 采用STM32外部中断模式控制LED灯亮灭

    文章目录 实验工具 一.STMCube配置项目 1.配置引脚 2.配置EXIT 3.配置SYS 4.配置GPIO 5.创建代码 二.使用KEil配置代码 1.打开生成的项目,找到stm32f1xx_i ...

  5. 【嵌入式STM32-05】STM32 外部中断 EXTI 基本原理|库函数程序代码|寄存器

    STM32外部中断 1.中断基本原理 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行 中断 ...

  6. STM32外部中断与(NVIC)中断优先级管理

    文章目录 1.中断介绍 1.中断的概念 2.中断的产生 3.中断处理的流程 2.STM32内嵌向量中断控制器NVIC 1.NVIC控制器的寄存器 2.STM32中断配置 3.STM32外部中断EXIT ...

  7. STM32外部中断与看门狗

    STM32外部中断与看门狗 前面说过中断的概念了,但是没有细究,中断除了内部中断(比如运行错误),还能受到外部中断 文章目录 STM32外部中断与看门狗 一 外部中断描述 1.1 外部中断描述 1.2 ...

  8. stm32 外部中断学习

    今天我们看看STM32的外部中断实验. STM32 供 IO 口使用的中断线只有 16 个,但是 STM32 的 IO 口却远远不止 16 个,那么 STM32 是怎么把 16 个中断线和 IO 口一 ...

  9. stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点

    一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现. STM32电源介绍 嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室​www.make ...

最新文章

  1. 2021-01-07 Python Opencv转换颜色空间 RGB转为HSV
  2. HTML5 Web app开发工具Kendo UI Web中Grid网格控件的使用
  3. linux批量管理服务,通过PSSH批量管理Linux服务器
  4. listary什么意思_listary使用心得
  5. php 延时显示代码,php 延时显示代码
  6. Silverlight4 ColorPicker控件
  7. php文件不写结尾,php文件结尾不写?的好处有哪...-php判断两个日期相差天数的实...-php根据时间显示刚刚,几分钟前,几小时前的实现代码_169IT.COM...
  8. 找不到php fpm.pid,找不到文件nginx php-fpm
  9. Debian8.1 安装samba与windows共享文件,在系统重启后samba服务无法自动启动
  10. Windows 10 使用Easy Sysprep V5 新版封装软件的图文封装教程
  11. KMSpico 无后门下载
  12. Photoshop使用十大技巧
  13. error C1083 错误
  14. 看完不会你揍我!!Pytorch利用文本数据建立自己的数据集- Dataset Dataloader详解 附案例
  15. MP3 Cutter Joiner for Mac(mp3剪辑合并工具)
  16. 鹿晗关晓彤公开恋情,是如何把微博服务器搞炸的? 鹿晗关晓彤公开恋情,是如何把微博服务器搞炸的? 题图:《盗墓笔记》 鹿晗关晓彤公开恋情,是如何把新浪微博的服务器搞垮的? 知友:苏莉安(200+
  17. 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数求1/1+1/3+…+1/n
  18. 蜂群 matlab,人工蜂群算法
  19. css省略号方法及不显示问题修复
  20. 3D Vision、SLAM求职宝典 | SLAM知识篇(D1,重点 )

热门文章

  1. 编写程序判断输入的字母是元音(Vowel)还是辅音(Consonant)。
  2. 机器学习之经典算法(十一) 条件随机场
  3. 链表-1(链表理论基础、移除链表元素、设计链表翻转链表)
  4. JAVA高级---(2)15分钟入门JVM底层原理
  5. 牧场物语矿石镇的伙伴们详细攻略
  6. web学习-html(2)
  7. java计算机毕业设计劳务外包管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  8. 对TS流的一些理解TS流的结构
  9. Centos逻辑卷扩容、合并
  10. 二叉树遍历【递归非递归】