单片机学习小组
直播中

刘丹

7年用户 1483经验值
私信 关注

请教大神STM32F103C8T6寄存器是怎样借助面包板点亮LED流水灯的

请教大神STM32F103C8T6寄存器是怎样借助面包板点亮LED流水灯的?

回帖(1)

毛雅清

2022-2-11 15:48:51
但是之后连电路的时候发现并没有PD管脚,于是自己改成了PA1,PB0,PB5,只是在推挽输出、以及声明时代码有所不同,其他变化不大。

2、打开之前建立的工程模板

具体步骤请往上翻
3、代码编写

在Light2文件夹下新建一个HARDWARE文件夹,用来存储以后与硬件相关的代码。

然后我们打开 USER 文件夹下的 test.uvprojx 工程,新建两个文件,然后保存在HARDWARE→LED 文件夹下面,保存为 led.c,led.h
我们将文件添加到工程中,步骤如下图

在魔法棒这里将HARDWARE路径加进去,否则之后会报错。

下面来编写led.c文件,要用到GPIOB、GPIOC、GPIOD则,对应时钟设置:

在设置完时钟之后就是配置完时钟之后,LED_Init 配置了 目标三个端口 PB0 PB5 PA1 的模式为推挽输出,
并且默认输出 1。这样就完成了对这三个 IO 口的初始化。
代码如下:
l代码包含了#include "led.h"这句,使得 LED0、LED1、LED2、LED_Init 等能在 main 函数里被调用。
接下来,main 函数先调用 Stm32_Clock_Init 函数,配置系统时钟为 9 倍频,也就是 8*9=72M(外部晶振是 8Mhz),然后调用 delay_init 函数,初始化延时函数。接着就是调用 LED_Init 来初始化 三个管脚 为输出。最后在死循环里面实现 LED0 LED1 LED2 交替闪烁,间隔为 1s。
我们编译看看是否报错。

没有报错!
那么就可以进行下载了。
4、硬件连接

5、烧录:STM32F103C8T6与PC端连接

打开C8T6数据手册,查找TXD和RXD管脚位置
PA9——TX
PA10——RX


务必将boot0设为1,boot1设为0,利用跳线帽实现


借助FLYMCU下载软件,即可将light.hex载入,软件资料同样可在网盘下载。
这里我利用FlyMcu进行。

五、使用寄存器点亮LED灯——电路部分

1、面包板介绍

面包板是由于板子上有很多小插孔,专为电子电路的无焊接实验设计制造的。由于各种电子元器件可根据需要随意插入或拔出,免去了焊接,节省了电路的组装时间,而且元件可以重复使用,所以非常适合电子电路的组装、调试和训练。


常见的最小单元面包板分上、中、下三部分, 上面和下面部分一般是由一行或两行的插孔构成的窄条,中间部分是由中间一条隔离凹 槽和上下各 5 行的插孔构成的宽条。

窄条上下两行之间电气不连通。
面包板背面示意图,看到背面示意图的情况,应当就很容易理解面包板之后应当如何接线了。

每 5 个插孔为一组,通常的面包板上有 10 组或 11 组。
对于 10 组的结构,左边 5 组内部电气连通,右边 5 组内部电气连通,但左右两边之间不连通,这种结构通常称为 5-5 结构。
还有一种 3-4-3 结构即左边 3 组内部电气连通,中间 4 组内部电气连通,右边 3 组内部电气连通,但左边 3 组、中间 4 组以及右边 3 组之间是不连通的。
对于 11 组的结构,左边 4 组内部电气连通,中间 3 组内部电气连通,右边 4 组内部电气连通,但左边 4 组、中间 3 组以及右边 4 组之间是不连通的,这种结构称为 4-3-4 结构。
中间部分宽条是由中间一条隔离凹槽和上下各 5 行的插孔构成。在同一列中的 5 个 插孔是互相连通的,列和列之间以及凹槽上下部分则是不连通的。

2、电路连接

让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设置都可以。

在将C8T6连接到电路板之前,一定要先将BOOT0置位0,否则电路无效!!!
面包板连线,按照这个图连接,只不过我在实际电路时手头没有电阻,于是就没有连接电阻。

实际图连接

点灯实况

成功!
举报

更多回帖

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