准备工作:
- 1、STM32开发板(我的是STM32F103VET6)
- 2、STM32CubeMx软件、 IDE: Keil软件
- 3、按键管脚 : PA0 PC13
- 4、LED管脚 : PB0 PB1 PB5
新建工程
1.1 New Project
- 1 搜索芯片型号
- 2选择芯片
- 3创建工程
1.2设置时钟源RCC
- 系统时钟源选择外部晶振时钟源
1.3 设置GPIO
-
设置PB0和PB1为输出模式
-
设置PC13为中断模式
-
使能中断
设置时钟
项目文件设置
- 1 设置项目名称
- 2 选择所用IDE
生成代码
- 为每个功能生成独立的.c和.h文件
- 生成代码
打开工程,找到stm32f1xx_it.c文件,然后打开
进入void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin),分析里面的代码,需要重写回调函数
在main.c文件中重写回调函数
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1);
}
把程序下载到stm32里面,按键按一次,变化一次