STM32CubeMX 外部中断

简介: STM32CubeMX 外部中断

一、中断初始化配置


1.打开 STM32CubeMX 软件,在工具栏中选择 "Pinout & Configuration" 选项卡。


2.选择需要使用的 GPIO 引脚,右键单击选择 "GPIO_EXTI"。在弹出的上下文菜单中选择 "External Interrupt Mode",并选择相应的中断触发方式。


3.在配置选项卡中,在 "Mode" 选项中选择外部中断模式。在 "External Interrupt" 选项中选择对应的 "EXTIx" 中断线。


4.配置 NVIC (Nested Vectored Interrupt Controller),使能中断线,并设置中断优先级。


二、STM32CubeMX配置


1.打开高速和低速时钟,时钟源选择外部时钟源



将定时器的时钟设为 72M



2.引脚配置


用PB6作为中断输入,配置为GPIO_EXTI,由于PB6引脚通过按键直接接地,所以将引脚拉高也就是Pull-up ,检测他的下降沿,作为中断源输入,PC13设置为GPIO_Output,输出高电平



接着GPIO mode配置下降沿,pull-up 上拉


GPIO mode:


External Interrupt Mode with Rising edge trigger detection//上升沿触发

External Interrupt Mode with Falling edge trigger detection//下降沿触发

External Interrupt Mode with Rising/Falling edge trigger detection//上升沿或下降沿触发



pc13配置高电平



3. 使能外部中断线



4.配置中断优先级



5.生成代码




三、Keil代码配置


1.重写中断回调函数


在 main.c 中的 USER CODE BEGIN 0-4 编程范围内重写外部中断的回调函数:

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
        if(GPIO_Pin == GPIO_PIN_6)
        {
            HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
        }
}


2.编译后,点击LOAD下载

目录
相关文章
|
传感器 芯片
最详细STM32,cubeMX 点亮 led
最详细STM32,cubeMX 点亮 led
145 0
|
3月前
STM32CubeMX PWM
STM32CubeMX PWM
47 9
|
3月前
STM32CubeMX IWDG和WWDG
STM32CubeMX IWDG和WWDG
95 11
|
3月前
STM32CubeMX FreeRTOS点亮LED
STM32CubeMX FreeRTOS点亮LED
69 10
|
3月前
STM32CubeMX OLED驱动
STM32CubeMX OLED驱动
58 10
|
3月前
STM32CubeMX 定时器
STM32CubeMX 定时器
111 0
|
3月前
STM32CubeMX 点亮LED
STM32CubeMX 点亮LED
55 0
|
5月前
|
传感器 开发者
【STM32基础 CubeMX】外部中断
【STM32基础 CubeMX】外部中断
226 44
|
C语言 C++
STM32F103C8 串口的使用
STM32F103C8 串口的使用
262 0
|
5月前
|
存储 传感器
【STM32基础 CubeMX】uart串口通信
【STM32基础 CubeMX】uart串口通信
325 0