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

stm32库函数开发配置外部中断

step1:开启时钟,包括gpio的时钟和afio的时钟,IO口的时钟和复用引脚的时钟都在rcc_apb2perphclockcmd(),也就是都在apb2总线外设上面。

step2: 定义需要用到的结构体变量,也就是使用gpio_inittypedef(通用io口),exti_inittypedef(外部中断),nvic_initydepef(嵌套中断)去定义需要的三个结构体变量,命名通常位gpio_initstructure;

step3:配置gpio口,也就是配置结构体变量的值,gpio配置为浮空输入模式,选择相应的引脚

step4:选择哪个引脚作为外部中断的输入源信号,使用模块函数为GPIO_EXTILineConfig(GPIO_PortSourceGPIOx, GPIO_PinSourcex)

step5:配置exti_inittypedef定义的结构体变量,1.配置选择哪个中断线来传递中断信号,例如pa0,pb0,pc0共用exti_line0,2.配置中断工作模式,中断模式,进入中断服务函数,事件模式,只 产生事件,不进入中断函数;3.配置中断的触发方式,上升沿,下降沿,双边沿触发;4.使能或者失能中断exti线

step6:根据中断的数量来选择优先级分组,函数模块为NVIC_PriorityGroupConfig(NVIC_PriorityGroup_x),x的取值在0~4,意思是分配x位抢占优先级,也就是2^x个优先级,4-x个响应优先级
抢占可以打断,响应无法打断中断

step7:配置nvic_inittypedef定义的结构变量,1.配置中断通道,配置nvic_irqchanne,2.配置抢占优先级和响应优先级,NVIC_IRQChannelPreemptionPriority(抢占优先级) ,NVIC_IRQChannelsuPriority(响应优先级) ,3.使能nvic

step8:写中断服务函数,根据中断向量表来写函数的名称,例如exti_line0,函数名为void EXTI0_IRQHandler(void) ,使用中断函数框架,进入先判断exti_linex是否被挂起,使用函数EXTI_GetITStatus(),是否为1,然后执行完函数后,需要把中断标志位清0,使用函数EXTI_ClearITPendingBit(EXTI_Linex)进行清楚标志位

http://www.gsyq.cn/news/20907.html

相关文章:

  • 基于Golang+Gin+Gorm+Vue3母婴商城项目实战
  • 2025 年无缝钢管厂家推荐排行榜, SA333Gr.6 /SA106B/SA106C/A106B/SA210C/ 25MnG/SA53B/A53B /L245NS/P22 无缝钢管厂家推荐
  • 宝塔计划任务root能正常运行,www用户不能按时运行
  • 介绍 Qodo(原 Codium):新名字,不变的质量承诺 - 公众号
  • 中文语音识别不建议使用VOSK
  • VSCode插件开发的注意点 - Erica
  • 斑马日记2025.10.12
  • 2025 年国内卷板机源头厂家最新推荐排行榜:涵盖不锈钢 / 大型 / 锥形 / 数控等多类型设备,助力企业精准采购优质设备
  • mysql5.7 AUTO_INCREMENT 问题
  • NVR设备ONVIF接入平台EasyCVR智慧小区视频监控系统建设方案
  • FPGA开发流程
  • Java word文档中的图片抽离方法
  • Kerberos认证(Elasticsearch)
  • 在Anolis OS 8.10 GA上安装和配置VNC系统
  • 钩子(HOOK):改变系统行为的 “隐形抓手”
  • 新装 CentOS 7 切换 yum 源完整指南 - 详解
  • 如何在统信系统中将 Avalonia 软件程序打包 Deb 安装包
  • 2025 年涡街流量计厂家推荐,湖北南控仪表科技有限公司技术创新与行业应用解决方案解析
  • ArcGIS 10.2.2 字符串长度为20却仅能输入3个汉字的解决方法
  • 爬虫遇到的问题与解
  • LatchUtils:简化Java异步任务同步的利器
  • Agentic RAG对比传统RAG的优势
  • linux系统查看磁盘过程
  • ftp多用户多目录配置
  • 温故知新,机器人进化论,机器人分类与全球格局
  • 微信机器人框架
  • 详细介绍:Go 语言中指针介绍
  • AI元人文构想基础理论体系研究
  • DevEco Testing全面解析:HarmonyOS测试框架与实战指南 - 教程
  • 单片机使用同一硬件定时器实现多周期定时功能