stm32 HAL库开发-EXTI外部中断编程

发布时间: 2024-04-03
来源: 电子工程世界

1

编写流程


如下图所示,作用于外部IO口的信号,实际上经过三个部分进入NVIC控制器:GPIO、EXTI控制器、NVIC控制器。

图片

我们在程序配置中也需要对这三个部分依次设置。

图片

2

外部中断实验

实验设计

Nuelco-F091RC开发板的PA10引脚配置上拉电阻并配置下降沿中断,PA10外接一按键用于接地触发中断。

开发板PB3引脚配置为推挽输出并外接LED灯泡,外部中断服务函数将PB3引脚电平翻转从而控制LED亮灭。

图片

实验程序

宏定义LED和按键的引脚和端口

图片

声明并定义两个部分的初始化函数[动画表情]

图片

一定要记得开时钟,这是Stm32与AVR非常不一样的地方,

KEY_EXTI_Init()函数中最后要配置NVIC以使中断被响应。

图片

在main函数中调用两个初始化函数。

图片

在stm32f0xx_it.h文件中声明中断服务函数

图片

在stm32f0xx_it.c文件中定义中断服务函数,一定别忘了清中断标志,否则程序会反复进入中断。

图片

最后在main.c中写入回调函数内容

图片


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。