基于STM32CubeIDE实现外部中断按钮控制LED灯亮

小白入门,记录一下学习体验及过程。原文可能图片不清晰,如需下载原WORD文档,请右转:
链接:https://pan.baidu.com/s/17X8iB865ZgHgGYnUJ1bSRA
提取码:45z6

官方视频实验
网址:https://www.bilibili.com/video/BV1B7411d757?p=5

实验1:LED点亮

实验2:外部中断EXIT

实验通过BLUE_BUTTON外部中断来实现GREEN_LED的点亮
实验流程:
① 新建文件:STM32 Project
② 配置外部中断文件,对与前面的工程文件可以使用“close project”的方法将其关闭,然后重新建立工程。关闭的方法是先打开Project Explorer,然后点选右键,Close Project。
在这里插入图片描述

③ 然后新建工程,正确选择开发板STM32的型号,我的是STM32F103RB Nucleo64开发板,因此,在Part Number Search下直接搜索“103RB”即可。
在这里插入图片描述

④ next后,输入工程名称,stm32F103RB_exitTest,然后next——fish
在这里插入图片描述

⑤ 在新生成界面下,设置Pinout&Configuration, 如下图所示,在STM32F103RB开发板中,LD2对应PA5,BLUE_BUTTON对应PC13引脚,因此,这里设置PA5为输出模式,USER NAME设置为GREEN_LED2,PC13设置为外部中断输入,用户标签设置为BLUE_BUTTON
在这里插入图片描述
在这里插入图片描述
⑥ 配置GPIO,鼠标点选GPIO口,出现如下界面。然后点选PC13…,选择GPIO Mode 即端口模式,这里选择外部下降沿中断模式。如下图所示。同时,鼠标点开GPIO旁边的NVIC,在Enable一栏下打勾勾,使能。
在这里插入图片描述

⑦ 后面,我把Clock Configuration中设置了一下时钟,一般可以默认即可。这里我把时钟o总线的HCLK 输入64,这样软件会自动配置其后的时钟和Verify。
在这里插入图片描述

⑧ 生成代码。
在这里插入图片描述

⑨ 编译和代码调试。主要使用的工具如下。先点击堵头1,然后点击榔头进行编译。这时候如下图所示。
在这里插入图片描述
在这里插入图片描述

接着,我们需要在main.c中进行用户程序的录入,也就是当按下button时,led灯亮,然后再按时又熄灭的操作。
① 首先,我们打开Src下的main.c,在主程序前面定义一个变量flag。
在这里插入图片描述

② 然后修改while文件,在while中定义LED灯亮的程序。这里有个技巧是**使用快捷键“ALT+/”**来进行快速查找函数原型,同时也可以用来补充先前已经定义的用户变量,非常方便,和CodeBlock一样提示功能。
在这里插入图片描述
在这里插入图片描述

③ 修改外部触发函数,也就是在有外部触发时,将标志变量flag进行赋值,从而实现led的亮灭控制。在中断程序的用户程序地方补充一下程序,然后编译调试。
在这里插入图片描述

④ 编译,然后下载到开发板。ok!
在这里插入图片描述
在这里插入图片描述

⑤ 实验现象。
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

easy_R

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值