STM32单片机基础05——使用EXIT中断检测按键

本文详述了如何使用STM32CubeMX配置STM32L431RCT6的EXTI中断检测按键,涉及中断优先级设置、HAL库中断处理机制,并通过实验展示了按键操作LED的状态变化。
摘要由CSDN通过智能技术生成

本篇文章主要介绍如何使用STM32CubeMX初始化STM32L431RCT6的EXIT检测按键,讲述了一些NVIC的小知识,并一步一步探索了HAL库的中断处理机制。

1. 准备工作

硬件准备

mark

软件准备

  • 需要安装好Keil - MDK及芯片对应的包,以便编译和下载生成的代码;

Keil MDK和串口助手的安装包都可以关注“小熊派开源社区”微信公众号,在资料教程一栏中可获取安装包。

2.生成MDK工程

选择芯片型号

打开STM32CubeMX,打开MCU选择器:

mark

搜索并选中芯片STM32L431RCT6:

mark

配置时钟源

  • 如果选择使用外部高速时钟(HSE),则需要在System Core中配置RCC;
  • 如果使用默认内部时钟(HSI),这一步可以略过;

这里我都使用外部时钟:

mark

配置LED的GPIO引脚

查看小熊派开发板的原理图,如下:

mark

所以接下来我们选择配置PC13引脚:

mark

设置用户标签为LED:

mark

配置GPIO引脚为外部中断引脚

查看小熊派开发板的原理图,如下:

mark

所以接下来我们选择配置PB2引脚和PB3引脚为外部中断引脚:

mark

因为没有设置硬件上拉,所以我们配置开启上拉电阻,并设置用户标签为KEY1KEY2,接下来是最重要的一步:

  • 开启下降沿触发中断:即在按下按键时电平由高变为低时触发
  • 开启上升沿触发中断:即在按下按键后松开时电平由低变为高时触发
  • 开启下降沿上升沿都触发中断:即在按下时触发,松开时再次触发

这里我选择开启下降沿触发中断:

mark

配置NVIC设置中断优先级

知识小卡片 —— NVIC

NVIC全称Nested vectored interrupt controller,即嵌套向量中断控制器,用来决定中断的优先级

NVIC在 ARM Conrtex-M 内核中,用一个

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值