当前位置: 首页 > news >正文

对于stm32RCT6的外部中断

对于stm32RCT6的外部中断

介绍

  1. STM32的每个IO都可以作为外部中断输入。
  2. STM32的中断控制器支持19个外部中断/事件请求:
    线0~15:对应外部IO口的输入中断。
    线16:连接到PVD输出。
    线17:连接到RTC闹钟事件。
    线18:连接到USB唤醒事件。
  3. 每个外部中断线可以独立的配置触发方式(上升沿,下降沿或者双边沿触发),触发/屏蔽,专用的状态位。
  4. 对于每个中断线,可以设置相应的触发方式(上升沿触发,下降沿触发,边沿触发)以及使能。
  5. IO口外部中断在中断向量表中只分配了7个中断向量,也就是只能使用7个中断服务函数

对于配置的过程

第一步,配置RCC,把涉及的外设时钟打开

第二步,配置GPIO,选择端口为输入模式

第三步,配置AFIO的数据选择器,选择中断引脚

第四步,配置EXTI,选择边沿触发方式及触发响应方式

               //开启中断

               //中断触发

               //下降沿触发

第五步,配置NVIC,分组,给中断选择合适优先级,只分一个组

               //配置NVIC函数

               //指定通道

               //打开通道

               //抢占优先级

               //响应优先级

外部中断常用库函数

 1.void GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t   GPIO_PinSource);
//设置IO口与中断线的映射关系
exp:  GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource2);
2.  void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct);
//初始化中断线:触发方式等
3. ITStatus EXTI_GetITStatus(uint32_t EXTI_Line);
//判断中断线中断状态,是否发生
4. void EXTI_ClearITPendingBit(uint32_t EXTI_Line);
//清除中断线上的中断标志位

对于使用的过程还要加上中断服务函数,在每次使用完中断时,应清除中断标志位

EXTI15_10_IRQHandler中断函数要在startup_stm32f10x_md   stm32 的开始文件中找,因为其是固定的,

代码

 结语

学习于B站的 江科大的32板

还在学习中,如有错误还请大佬们指出,有问题可相互交流

http://www.lryc.cn/news/594145.html

相关文章:

  • `tidyverse` 中涉及的函数及其用法
  • tabBar设置底部菜单选项、iconfont图标(图片)库、模拟京东app的底部导航栏
  • GPT-4o mini TTS:领先的文本转语音技术
  • 私有云新势力:Puter+CPolar如何低成本替代商业网盘?
  • Softhub软件下载站实战开发(十九):软件信息展示
  • 42.sentinel实现线程隔离
  • 学习日志15 python
  • JAVA面试宝典 -《容灾设计:异地多活架构实践》
  • nvm、npm、pnpm、cnpm、yarn
  • Python适配器模式详解:让不兼容的接口协同工作
  • 【C语言】内存函数介绍(上)
  • 【单片机外部中断实验修改动态数码管0-99】2022-5-22
  • 从零开始的云计算生活——番外5,使用ELK实现对应用日志的监控
  • 多源异构数据融合的理论与方法
  • Modbus Slave 使用教程:快速搭建模拟从站进行测试与开发
  • JavaScript 语言基础详解
  • 论文笔记:Seed: Bridging Sequence and Diffusion Models for RoadTrajectory Generation
  • TD3与SAC强化学习算法深度对比
  • [Python] -项目实战4- 利用Python进行Excel批量处理
  • Valgrind Memcheck 全解析教程:6个程序说明基础内存错误
  • 无线通信相关概念
  • LeetCode 1712.将数组分成三个子数组的方案数
  • 基于卷积傅里叶分析网络 (CFAN)的心电图分类的统一时频方法
  • 复杂度+包装类型+泛型
  • @import导入css样式、scss变量用法、static目录
  • CSS中Padding与Margin的区别
  • `TransportService` 是 **Elasticsearch 传输层的“中枢路由器”**
  • Dify 1.6 安装与踩坑记录(Docker 方式)
  • python网络爬虫小项目(爬取评论)超级简单
  • EXPLAIN:你的SQL性能优化透视镜