STM32
直播中

吴湛

9年用户 830经验值
擅长:电源/新能源
私信 关注
[问答]

如何利用STM32CubeMX外部中断实现按键按一次变化一次?

如何利用STM32CubeMX外部中断实现按键按一次变化一次?

回帖(1)

云甫太

2021-11-17 14:14:25
准备工作:

  


  • 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里面,按键按一次,变化一次
举报

更多回帖

发帖
×
20
完善资料,
赚取积分