当前位置:首页 > 单片机 > 单片机
[导读]硬件平台:stm32F407Zet6软件平台:stm32cubeMX 4.7+MDK5.14电路连接:PE8-LED0、PE9-LED1、PE10-LED2、PE11-LED3、PE12-KEY0、PE13-KEY1、PE14-KEY2、PE15-KEY3第一步、使用stm32cubeMX创建工程,选择相应的芯片,配

硬件平台:stm32F407Zet6

软件平台:stm32cubeMX 4.7+MDK5.14

电路连接:PE8-LED0、PE9-LED1、PE10-LED2、PE11-LED3、PE12-KEY0、PE13-KEY1、PE14-KEY2、PE15-KEY3

第一步、使用stm32cubeMX创建工程,选择相应的芯片,配置RCC、SYS、引脚和时钟如下图所示:





注意,由于按键上有上拉电阻,这里选择中断模式的时候,我们选择下降沿触发中断。

第二步,配置输出Keil工程



第三步、编写程序下载验证

STM32CubeMx把代码都生成了,查找函数,分析调用的过程,添加应用层代码就行

首先在stm32f4xx_it.c文件中查找,所有的中断函数都是放在这个文件中的,代码如下:

voidEXTI15_10_IRQHandler(void)

{

HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_12);

HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);

HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_14);

HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_15);


}

可以看出,这四个按键的中断触发后首先会调用这个函数,这个函数有调用HAL_GPIO_EXTI_IRQHandler,再看一下这个函数的原型

voidHAL_GPIO_EXTI_IRQHandler(uint16_tGPIO_Pin)

{

if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin)!=RESET)

{

__HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);

HAL_GPIO_EXTI_Callback(GPIO_Pin);

}

}

__weakvoidHAL_GPIO_EXTI_Callback(uint16_tGPIO_Pin)

{

}


根据程序可以知道,当中断发生的时候会调用HAL_GPIO_EXTI_Callback();程序中只给出了一个虚函数,需要重新实现它,在main.c添加如下代码,来重新实现这个函数,来完成功能:

voidHAL_GPIO_EXTI_Callback(uint16_tGPIO_Pin)

{

switch(GPIO_Pin)

{

caseGPIO_PIN_12:LED0_Toggle();break;

caseGPIO_PIN_13:LED1_Toggle();break;

caseGPIO_PIN_14:LED2_Toggle();break;

caseGPIO_PIN_15:LED3_Toggle();break;

default:break;

}

}


这样就实现了当按键中断发生的时候就反转灯的状态。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对双电层电容器的认识,本文将对双电层电容器物料、双电层电容器的优缺点予以介绍。

关键字: 电容器 指数 双电层电容器

为增进大家对双电层电容器的认识,本文将对双电层电容器的原理、双电层电容器的工艺予以介绍。

关键字: 电容器 指数 双电层电容器

为增进大家对电容器的认识,本文将对双电层电容器和赝电容器的区别予以详细介绍。

关键字: 电容器 双电层电容器 赝电容器 指数

本文中,将对示波器的原理、示波器带宽不够会带来的影响予以介绍。

关键字: 示波器 指数 数字示波器 模拟示波器

为增进大家对示波器的认识,本文将对示波器采样时间的设置、示波器采样率、示波器触发等知识予以介绍。

关键字: 示波器 指数 数字示波器 模拟示波器

为增进大家对示波器的认识,本文将对示波器的时基以及普源示波器波形粗的原因予以介绍。

关键字: 示波器 普源示波器 指数

Apr. 16, 2024 ---- NVIDIA新一代平台Blackwell,包含B系列GPU及整合NVIDIA自家Grace Arm CPU的GB200等。TrendForce集邦咨询指出,GB200的前一代为GH2...

关键字: CPU GPU

Apr. 12, 2024 ---- 中国动力电芯价格在过去一年多的时间里持续下滑,但自今年2月份以来,供应链价格整体已逐渐回稳。据TrendForce集邦咨询研究显示,3月电池级碳酸锂价格反弹,先后突破每吨10万元、1...

关键字: 动力电芯 碳酸锂 电池

为增进大家对变频调速器的认识,本文将对变频调速器、变频调速器的接线方法予以介绍。

关键字: 调速器 指数 变频调速器

为增进大家对液压调速器的认识,本文将对液压调速器的两种类型:无反馈的液压调速器、具有刚性反馈机构的液压调速器予以介绍。

关键字: 调速器 指数 液压调速器
关闭
关闭