单片机学习小组
登录
直播中
刘丹
7年用户
1483经验值
私信
关注
请教大神STM32F103C8T6寄存器是怎样借助面包板点亮LED流水灯的
开启该帖子的消息推送
寄存器
请教大神
STM32
F103C8T6寄存器是怎样借助面包板点亮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
,否则电路无效!!!
面包板连线,按照这个图连接,只不过我在实际电路时手头没有电阻,于是就没有连接电阻。
实际图连接
点灯实况
成功!
但是之后连电路的时候发现并没有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
,否则电路无效!!!
面包板连线,按照这个图连接,只不过我在实际电路时手头没有电阻,于是就没有连接电阻。
实际图连接
点灯实况
成功!
举报
更多回帖
rotate(-90deg);
回复
相关问答
寄存器
如何用
STM32F103C8T6
寄存器
点亮
LED
流水灯
?
2022-01-20
1242
怎样
使用
STM32F103C8T6
微控制
器
去
点亮
LED
灯呢
2022-02-24
2510
如何利用
stm32
cubemx去完成基于
stm32f103c8t6
流水灯
的配置呢
2021-11-25
926
如何去实现基于
stm32f103c8t6
芯片的
流水灯
设计
2022-02-23
1640
怎样
通过
STM32F103
寄存器
去
点亮
LED
流水灯
呢
2022-02-11
861
如何利用
STM32F103
寄存器
方式
点亮
LED
流水灯
?
2022-02-08
1763
请问
STM32F103C8T6
小系统核心
板
如何
点亮
内置
LED
?
2021-12-14
1803
如何利用
STM32F103
寄存器
方式
点亮
LED
流水灯
?
2022-02-11
1050
如何使用
STM32F103
系列芯片以
寄存器
的方式
点亮
LED
流水灯
2022-02-11
1647
如何利用
STM32F103
ji
寄存器
的方式
点亮
流水灯
?
2022-02-08
695
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分