文章目录
运行环境:
ubuntu18.04.melodic
宏基暗影骑士笔记本
stm32f427IIH6
stlink
9-24v可调电源
1.1 按键外部中断
1)按键检测
方法一:检测IO口是否为低电平判断按键是否被按下
只有在检测按键的时候,我们按下按键才会被检测到,但处理器可能在干别的事情,所以最好的方法是使用外部中断

2)外部中断的3中触发方式
上升沿中断:当 GPIO 的电平从低电平跳变成高电平时,触发外部中断。
下降沿中断:当 GPIO 的电平从高电平跳变成低电平时,触发外部中断。
上升下降沿中断:当 GPIO 的电平从低电平跳变成高电平和从高电平跳变成低电平时,都能触发外部中断。
2.1配置
1)原理图
自定义的KEY对应PB2


2)引脚配置
配置PB2为外部中断

由于按下按键,变成低电平,所以选择下降沿触发,上拉


3)中断配置
打开2号总线中断,最高优先级

4)RCC和SYS



为每个外设 生成外设初始化.c/.h文件

3.1代码分析
在gpio.c中,
已经打开下降沿触发,上拉
已经打开中断服务函数

在回调函数中编写电平转换代码
3.2添加代码
1)中断处理函数IRQ中添加电平转换代码

make编译,F5烧录调试
2)launch设置
修改成以下内容:可执行文件名是freeRTOS_LED.elf
{ =400x
"configurations": [
{
"showDevDebugOutput": "parsed",
"cwd": "${workspaceRoot}",
"executable": "./build/TIM1.elf",
"name": "Debug STM32",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"device": "stm32f427",
"configFiles": [
"interface/stlink-v2-1.cfg",
"target/stm32f4x.cfg"
]
}
]
}
5.1实验效果
按下白色按键,灯灭
再按下白色按键,灯亮


文章介绍了在Ubuntu18.04环境下,使用STM32F427IIH6微控制器进行按键外部中断的配置和应用。通过检测IO口电平变化,设置了下降沿触发的中断方式,当按键按下时产生中断。在中断处理函数中添加电平转换代码,并对launch文件进行相应配置,实现了按键控制LED灯亮灭的功能。
1524

被折叠的 条评论
为什么被折叠?



