V4.0和V3.5的中断改了挺多,找了很久。。。小白不容易啊。。。

在这个函数中有下面这么一段话,具体的配置参数就是最上面宏定义的。可以直接调用HAL_GPIO_Init解决。

      /*--------------------- EXTI Mode Configuration ------------------------*//* Configure the External Interrupt or event for the current IO */if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE) {/* Enable AFIO Clock */__HAL_RCC_AFIO_CLK_ENABLE();temp = AFIO->EXTICR[position >> 2];CLEAR_BIT(temp, ((uint32_t)0x0F) << (4 * (position & 0x03)));SET_BIT(temp, (GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)));AFIO->EXTICR[position >> 2] = temp;/* Configure the interrupt mask */if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT){SET_BIT(EXTI->IMR, iocurrent); } else{CLEAR_BIT(EXTI->IMR, iocurrent); } /* Configure the event mask */if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT){SET_BIT(EXTI->EMR, iocurrent); } else{CLEAR_BIT(EXTI->EMR, iocurrent); }/* Enable or disable the rising trigger */if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE){SET_BIT(EXTI->RTSR, iocurrent); } else{CLEAR_BIT(EXTI->RTSR, iocurrent); }/* Enable or disable the falling trigger */if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE){SET_BIT(EXTI->FTSR, iocurrent); } else{CLEAR_BIT(EXTI->FTSR, iocurrent); }}

另外配置中断优先级的函数也改了,如下图所示:

配置中断组号:

在一个函数中同时配置优先级:

使能中断

转载于:https://www.cnblogs.com/nety0403/p/4505724.html

STM32Cube_FW_F1_V1.0.0固件库学习(四)外部中断 中相关推荐

  1. OK6410开发板学习之外部中断(按键点亮led和蜂鸣器)

    中断在嵌入式里面是很常见的一个功能了.通过这个功能,可以让CPU减轻很多负担,不用不断的查询设备的状态.提高了CPU的效率. 中断的大体过程如下: 中断源检测中断信号产生,然后将中断信号发送给中断控制 ...

  2. STM32+Cube MX使用MPU6050 DMP时,在外部中断中调用read_dmp函数发生系统卡死问题的根本原因分析

    系统环境 硬件: MCU:STM32F405RGT6 IMU:MPU6050 软件: 开发环境:KEIL MDK-ARM uVision5 MPU6050使用DMP 复现步骤 程序中MPU6050 D ...

  3. STM32Cube_FW_F1_V1.0.0固件库学习(一)环境准备

    原文地址::https://www.cnblogs.com/nety0403/p/4503419.html 相关文章 1.STM32Cube_FW_F1_V1.6.0----https://downl ...

  4. STM32基于固件库学习笔记(11)RTC实时时钟

    实时时钟(RTC) 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx.STM32F102xx和STM32F103xx微控制器. 中容量产品是指闪存存储器容量在64K至128 ...

  5. STM32基于固件库学习笔记(4)(通用定时器)TIM3定时1S中断

    STM32F103ZE系列定时器资源 有 TIME1 和 TIME8 等高级定时器,也有 TIME2~TIME5 等通用定时器,还有 TIME6 和TIME7 等基本定时器. 通用定时器:是一个通过可 ...

  6. STM32F103标准库开发:外部中断(EXTI)实验

    STM32F103标准库开发----目录 STM32F103标准库开发----外部中断(EXTI)实验----程序源码 本文章技术信息均出自:STM32F103系列超详细参考手册-中文版 一.外部中断 ...

  7. (十八)树莓派3B+ wiringPi库的使用--外部中断

    搞过单片机的同学都知道,一般的单片机都有中断系统和外部中断.通过看树莓派的IC手册和WiringPi-Priority, Interrupts and Threads,可以发现树莓派也是具备的,且Wi ...

  8. STM8学习笔记---外部中断实现

    利用按键做为中断触发,按键按下一次,LED灯翻转一次. 首先初始化IO口,按键接在PC4口,默认情况下高电平,按键按下后为低电平. 初始化代码如下: void EXTI_GPIO_Init( void ...

  9. STM32学习:外部中断

    文章目录 一.STM32外部中断 1.基本知识 2.中断设计流程 二.硬件配置 1.proteus仿真电路搭建 2.CubeMX硬件配置 3.配置中断 1.寻找中断虚函数 2.中断回调函数编写 3.p ...

  10. 【嵌入式学习-STM32F103-EXTI外部中断】

    目录 1.EXTI基础知识补充 2.编程要点 3.对射式红外传感器计次完整代码(注释) 4.旋转编码器计次完整代码(注释) 参考江科大32单片机教学视频! 1.EXTI基础知识补充 对于旋转编码器,正 ...

最新文章

  1. Android UI开发第五篇——自定义列表
  2. Jmeter --- 分布式测试
  3. 专家门诊[第258期] 备战2012下半年软考——项目管理、网络工程
  4. 哈士奇与阿拉斯加的区别!
  5. 阿里云云服务器的端口配置问题
  6. python 表单中值为空的还需要传入么_牛掰!100行Python,自动动手打造一款多国语言翻译软件...
  7. Qt工作笔记-3D效果唤出QWidgets界面(QGraphicsProxyWidget与QTimeLine)
  8. mysql添加外键约束的两种方式(重要)
  9. java连续创建目录_Java创建目录
  10. oracle到pg不停机增量迁移,研究 Oracle 到 PostgreSQL 的数据迁移 – 以 pgloader 为例 – Phy 的博客...
  11. Spring Boot 你所不知道的超级知识学习路线清单
  12. shiro 单点登录_Shiro权限管理框架(一):Shiro的基本使用
  13. Apache 代理nodejs[未测试]
  14. java 安卓 教学视频教程下载,老罗Android开发视频教程[共9大知识点] 下载
  15. SSM系类代码:org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer
  16. 微信小程序实现在线画板
  17. 隐私权斗士库克:出身平凡 从小喜欢伸张正义
  18. MOSFET正温度系数和负温度系数
  19. C Primer Plus (第五版) 第十四章 结构和其它数据形式 编程练习
  20. Element UI 多选搜索实现拼音匹配

热门文章

  1. 中国象棋将帅问题java_编程之美读书笔记1.2——中国象棋将帅问题
  2. python 基础学习--运算符集合
  3. 暴露的全局方法_Dubbo源码解析实战 - 服务暴露原理
  4. shell 列表_Shell文本编辑之转录因子(TF)列表的获取
  5. 如何显示python的内置模块_Python 如何查看Python自带的模块 - 弟球嗑学
  6. java实验报告13答案_(完整版)Java程序设计实验报告
  7. 大小文件服务器区别,在提供静态包时,观察到Nginx和Express服务器之间文件大小的差异...
  8. java异常断点数组_使用IDEA异常断点来定位java.lang.ArrayStoreException的问题
  9. java html2text_java-如何在html / text内容中获取文本?
  10. 百度搜索关键字抓取_怎么使百度竞价的效益最大化