STM32CubeMX—外部中断实验

STM32CubeMx 外部中断实验

一、实验说明

实验平台:STM32F103RCT6(正点原子mini 板)

实验内容:使用 按键(PC5) 触发外部中断 控制LED灯(PA8)的亮灭。(按一下亮,再按一下灭)

二、实验操作

1、基础配置

  1. sys中,选好调试方式,例如jtag-4pin。
  2. RCC时钟,晶振选择。
  3. 时钟树配置。
  4. 中断分组配置。

以上步骤可以参考串口中断实验。

三、外设配置—外部中断配置

1)、IO口配置

 

 

 

STM32CubeMX—外部中断实验_第1张图片

 

PC5 配置为外部中断模式 如图。

STM32CubeMX—外部中断实验_第2张图片

PA8 接LED灯,配置同上个实验。

STM32CubeMX—外部中断实验_第3张图片

STM32CubeMX—外部中断实验_第4张图片

配置中断优先级。

STM32CubeMX—外部中断实验_第5张图片

STM32CubeMX—外部中断实验_第6张图片 PA8为LED灯,配置如上图。

STM32CubeMX—外部中断实验_第7张图片

PC5 配置为下降沿触发,上拉。(具体配置为什么取决于按键的接发)

2)、生成工程

STM32CubeMX—外部中断实验_第8张图片

STM32CubeMX—外部中断实验_第9张图片

3)、代码部分

STM32CubeMX—外部中断实验_第10张图片

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);

这是中断的回调函数,可以写在gpio.c里面。写出如上代码,即可实现按键触发中断,控制PA8 LED灯。(注意 这里没有加按键消抖,但是注意不要把,HAL_Delay() 加入用于消抖,会卡死)

HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_8);

这个可以对IO口状态取反。

然后即可下载验证

你可能感兴趣的:(Stm32学习)