stm32外部中断模式控制灯亮灭

一、通过STMCube进行准备工作

1、引脚配置

A4输出控制灯的亮灭,设置为GPIO_Output
A1持续输出高电平,设置同上
A7持续输出低电平,设置同上
C13个人习惯开启做测试用,设置同上
B5模拟开关,设置为GPIO_EXTI5。

如图:
在这里插入图片描述
(此处配置引脚功能是直接在图中芯片中点击引脚即可配置引脚功能)

2、配置EXIT

点击右侧的System Core中的NVIC将最后一个选项勾选上,如图:在这里插入图片描述

3、配置SYS

同样在System Core中选择SYS,将Debug选择为Serial Wire如图:
在这里插入图片描述

4、配置GPIO

同样在刚刚的地方找到GPIO,将P1设置为高电平,P7为低电平,这里可以对引脚进行命名,方便调试,但也可以不用修改。如图:
在这里插入图片描述
在这里插入图片描述

5、生成芯片相关代码

生成代码之前,还需要调整相关设置,
在这里插入图片描述
首先勾上图中所示地方。
在这里插入图片描述
特别注意图中三个地方,前两个红圈,提醒在保存代码的路径和文件名不要出现中文,否则保存的代码会出问题。
另外在Toolchain/IDE处一定要选择MDK-ARM否则,不会生成你需要的keil文件。
做好一切准备后就可以保存了。

二、调制keil代码

打开刚刚生成的keil代码文件,找到main.c文件中的这个地方
在这里插入图片描述
红圈处的代码是我后来自己加的,原处这里没有代码,找到这个地方,将以下代码粘贴到此处

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
    
    
    /* Prevent unused argument(s) compilation warning */
    HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_4);  //翻转电平
    /* NOTE: This function Should not be modified, when the callback is needed,
             the HAL_GPIO_EXTI_Callback could be implemented in the user file
     */
}

在调试运行代码之前先检查设置
找到keil上方工具栏中的魔法棒的图标,检查Output处是否勾选了Create HEX File如图:
在这里插入图片描述
这里是为了保证,运行代码后能够生成hex文件以烧录到芯片中。
做好这些以后,就调试文件 ,运行代码生成hex文件
在这里插入图片描述

三、通过mcuisp烧录

在这里插入图片描述
烧录成功后,就可以根据引脚功能连接灯,并对灯进行调试

四、结果展示

在这里插入图片描述
在这里插入图片描述

五、参考

https://blog.csdn.net/qq_47281915/article/details/121024427

猜你喜欢

转载自blog.csdn.net/qq_54761976/article/details/127471774