STM32-hal库-流水灯-详细讲解

一、前言

本文是通过cubemx来配置rc8t6,一篇从配置到程序的完整代码,希望能够帮助到你学习stm32

二、开启程序        

1.首先我们先点开我们的cubemx,然后按照下图所示再次点击

f7309e86094645f988e149475977e18e.png

2.在接下来的页面选择我们的芯片型号,然后双击打开我们的芯片配置

6b37bea2725c4ab4889ff7ec4dec2376.png

  3.配置我们的rcc时钟和debug模式,右图是我将两个图形组合在一起、方便总体观看9b91196d9c9145eeb228f073b9eb27f0.png

4.接下来就是我们灯的配置,在此板上有八个led灯,我们可以直接配置我们的灯,然后将其点亮,我们点击我们的芯片引脚就可以进行配置,右图是我们判断是高电平亮,还是低电平亮,我们通过电路知识可以知道,给灯一个低电平就能够实现电路导通,从而让它亮起来,高低电平的配置在左图的GPIO output level                                

cd809f1bc35f4c6a8d09684fe96c7ae2.png

5.按键的配置,这里我们选择上拉电阻,同样也是根据原理图而选择的结构。

66128068d6a34fdc9db08cc294879fb6.png

6.由于本文没有涉及到时钟,所以也没有进行配置,下一步是配置我们的项目选择,按照下图配置完成后点击右上角的创建文件,后打开我们的keil5文件。

cc27774071de400b92762203b887d023.png

7.接下来是我们所用跑马灯代码

对于我们使用stm32来说,很重要的一点就是:看芯片引脚对应有什么功能

49191d267f91428d9c882ab6882ecfcd.png

8.点灯代码,我们的嵌入式其实也是用c语言来编写的,可以通过数组来编写我们的流水灯代码,这样我们的代码框架就不会那么臃肿,也会更加简洁

对于下图定义的数组b[],只是为了展示,可以使用数组来代替,并不是说都要使用数组

f6bc47c603ac4d3a814ca2b53667a10a.png

这个有个知识点就是关闭所有的灯,我们可以跳转到我们gpio的初始化设置,里面涵盖所有的引脚,也可以增加我们对stm32的理解

跑马灯演示视频

三、流水灯代码

45053603bba445a18466b6b9e0fd9995.png

上述是流水灯的代码,基本配置和跑马灯一样,之时程序不同

对于流水灯,其和上述所讲的跑马灯没有太大区别,只是亮灯的时间和亮灯的数量不同,我们可以看下面的代码,以及演示视频,就知道它是个什么样子,

流水灯

四、数值越界的情况

当我们使用数组,超出数组的容量的时候,就会出现一些奇怪的现象,所以我们在使用的时候要注意不要越界,这会导致程序的崩溃

数值越界情况

五、尾言

这里还是建议大家试试这些点亮灯的方式,毕竟只有自己尝试然后制作才知道自己会不会

如果觉得对你有所帮助,就请点个赞吧!

上述是如果有啥问题,请大佬点拨!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值