STM32F103的流水灯点亮版本1


本文主要描写如何使用STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿黄LED搭建电路,并通过GPIOA-5、GPIOB-9、GPIOC-14这3个引脚来控制LED灯轮流闪烁

一、题目要求

学习和理解STM32F103系列芯片的地址映射和寄存器映射原理;了解GPIO端口的初始化设置三步骤(时钟配置、输入输出模式设置、最大速率设置)

二、设计思路

需要在 STM32F103C8T6 上面通过 初始化GPIO 来实现点亮 LED 灯。外设实现的功能可能是完全不同的,但是,多数情况下,我们在设计程序的时候不需要考虑外设具体如何怎样实现功能,只需要给外设接在哪里、高电平有效还是低电平有效。因此,完成题目要求的时候,只需要找到 GPIOA-5、GPIOB-9、GPIOC-14 的地址,然后通过 GPIO的初始化,控制寄存器将片外引脚(我们称之为 IO口)拉低拉高, 输出高低电平,以控制LED亮灭。

三、STM32初识

STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。在如今的 32 位控制器当中,STM32 可以说是最璀璨的新星,它受宠若娇,大受工程师和市场的青睐,无芯能出其右。
STM32 属于一个微控制器,自带了各种常用通信接口,比如 USART、I2C、SPI 等,可接非常多的传感器,可以控制很多的设备。现实生活中,我们接触到的很多电器产品都有 STM32 的身影,比如智能手环,微型四轴飞行器,平衡车、移动 POST 机,智能电饭锅,3D 打印机等等。 STM32F103C8T6 是一款基于ARM Cortex-M 内核 STM32系列 的 32位 的微控制器,程序存储器容量是 64KB,需要电压 2V~3.6V,工作温度为 -40°C ~ 85°C。具体参数如下:
在这里插入图片描述

四、实现过程

4.1.时钟配置

*GPIO的地址:
​​​​在这里插入图片描述

​​​​​
*时钟地址:
在这里插入图片描述
在这里插入图片描述
外设时钟使能寄存器,偏移量为0x18,起始地址0x4002 1000,该寄存器地址为0x4002 1018

则打开三个IO口的时钟需要将三个位都置1:

在这里插入图片描述

4.2.输入输出模式设置、最大速率设置

这里使用推免输出
在这里插入图片描述
在这里插入图片描述
端口1-7为低,端口8-15为高。每个引脚由四个位控制。以GPIOB和0号引脚(B0)为例,将其设置为推挽输出,并设置最大速度为10MHz,则将控制B0的四个位设置为0001:
在这里插入图片描述
找到GPIOx端口基地址:
在这里插入图片描述

五、创建过程

5.1.新建项目

在这里插入图片描述
选择项目路径,填写文件名:

在这里插入图片描述

选择芯片:
在这里插入图片描述
创建项目出现弹窗,勾选 CORE 项,点击 OK 完成创建

在这里插入图片描述

5.2添加启动代码

在这里插入图片描述
总的代码:

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

5.3硬件连接

在这里插入图片描述

实验效果
在这里插入图片描述

QQ视频20231004205903

七、总结

通过本次实验加深对GPIO寄存器的知识的理解和运用,让我学会了如何配置GPIO,刚开始学习这个还是有点困难,还需要多加练习,加强自己的动手能力,实际操作的时候会和理论相互应证,会发现许多问题,我都是上网查资料和询问同学之后得以解决。希望通过自己不断的学习提高自己的动手能力和解决问题的能力。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值