历史上的今天
返回首页

历史上的今天

今天是:2024年12月15日(星期日)

2021年12月15日 | STM32使用寄存器点亮LED

2021-12-15 来源:eefocus

前言

给有特定功能的内存单元取一个别名,这个别名就是我们经常说的寄存器,这个给已经分配好地址的有特定功能的内存单元取别名的过程就叫寄存器映射。


一、什么是寄存器?

1、什么是储存器映射?

存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射。


2、什么是寄存器映射?


给存储器分配地址的过程叫存储器映射,再分配一个地址叫重映射。


二、STM32寄存器映射

1.总线基地址

在这里插入图片描述

2.GPIO基地址

在这里插入图片描述

3.GPIOB端口寄存器列表

在这里插入图片描述

4.GPIOx端口数据输出寄存器ODR描述

在这里插入图片描述

三、C语言对寄存器的封装

1.C语言对寄存器的封装

在这里插入图片描述

2.实现让PBO输出低/高电平

在这里插入图片描述

3.使用结构体封装寄存器列表

在这里插入图片描述

4.使用结构体指针访问寄存器

在这里插入图片描述

5.定义GPIO端口基地址指针

在这里插入图片描述

三、使用寄存器点亮LED

1.GPIO简介

GPIO-general purpose intput output是通用输入输出端口的简称,简单来说就是软件可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能

在这里插入图片描述

2.推挽输出

在这里插入图片描述

1、可以输出高低电平,用于连接数字器件,高电平由VDD决定,低电平由VSS决定。

2、推挽结构指两个三极管受两路互补的信号控制,总是在一个导通的时候另外一个截止,优点开关效率效率高,电流大,驱动能力强。

3、输出高电平时,电流输出到负载,叫灌电流,可以理解成推,输出低电平时,负载电流流向芯片,叫拉电流,即挽。


3.开漏输出

在这里插入图片描述

1、只能输出低电平,不能输出高电平。

2、如果要输出高电平,则需要外接上拉。

3、开漏输出具有“线与”功能,一个为低,全部为低,多用于l2C和SMBUS总线。


4.GPIO输出初始化顺序

1、选定具体的GPIO

2、配置GPIO工作模式(CRL和CRH寄存器)

3、控制GPIO输出高低电平(ODR、BRR和BSRR)


5.具体代码

头文件

在这里插入图片描述

mian函数

在这里插入图片描述

5.实验现象

在这里插入图片描述

总结

这里我们仅是以GPIO这个外设为例,给大家讲解了C语言对寄存器的封装。以此类推,其他外设也同样可以用这种方法来封装。


好消息是,这部分工作都由固件库帮我们完成了,这里我们只是分析了下这个封装的过程,便于能够深入到底层学习。

推荐阅读

史海拾趣

Armel Electronics Inc公司的发展小趣事

在电子行业中,产品质量是企业生存和发展的关键。Armel Electronics Inc公司深知此道,始终坚持品质至上的原则。公司从原材料采购到生产流程,再到产品出厂,每一个环节都严格把控,确保产品质量的稳定性和可靠性。这种对品质的执着追求,使得Armel的产品在市场上赢得了良好的口碑,并逐渐树立了公司的品牌形象。

EPSON公司的发展小趣事

随着业务的不断发展,EPSON开始积极拓展国际市场。公司先后在全球五大洲设立了多个生产和研发机构,以及销售和服务网点,以便更好地服务全球客户。通过不断拓展海外市场,EPSON逐渐实现了全球化战略,其产品和服务已经覆盖全球多个国家和地区。

Fagor Electrónica公司的发展小趣事

然而,随着市场竞争的加剧和技术的快速变革,Fagor Electrónica也面临着前所未有的挑战。为了应对这些挑战,公司不断加大研发投入,积极引进先进技术和管理经验。同时,Fagor Electrónica还加强了与供应商和客户的合作,以共同应对市场变化。这些努力使得公司在激烈的市场竞争中保持了领先地位。

中移物联网(Chinamobile)公司的发展小趣事

2022年12月,中移物联网的OneNET城市物联网平台在2022中国移动全球合作伙伴大会上亮相。该平台以城市为核心,整合了各类物联网资源,为城市管理、公共服务等领域提供了全方位的物联网解决方案。OneNET城市物联网平台的推出,标志着中移物联网在物联网领域的技术实力和市场地位得到了进一步提升。

Glorious Sources Co Ltd公司的发展小趣事
确保电路具有稳定的电源供应,以满足各元件的正常工作需求。
智浦欣(Chipstar)公司的发展小趣事

随着公司规模的不断扩大和业务的快速发展,智浦欣公司意识到,必须加强内部管理和人才培养才能确保公司的持续健康发展。于是,公司引进了一套先进的管理体系和人才培养计划。在管理体系方面,公司建立了完善的组织架构和业务流程,提高了工作效率和协同能力;在人才培养方面,公司注重员工的个人发展和职业规划,提供了多样化的培训和学习机会,激发了员工的工作热情和创新能力。

问答坊 | AI 解惑

555电路组成的振荡电路集锦

555电路组成的振荡电路集锦…

查看全部问答>

存储示波器资料

本帖最后由 paulhyde 于 2014-9-15 09:13 编辑 大家分享,,,,,,,,,,,  …

查看全部问答>

Bootloader深入讨论

Bootloader介绍 Bootloader移植的必要性 Bootloader是与系统硬件高度相关的初始化软件,它担负着初始化硬件和引导操作系统的双重责任。一些ARM平台可以共用同一种Bootloader,但是总的说来,每一个特定系统的Bootloader都会有所不同。Bootloader ...…

查看全部问答>

关于单片机程序的自动升级问题

例如以单片机的ROM是有10万次擦写的FLASH,现在该如何能像电脑软件一样能自动升级里面的程序而不用拆下来重新烧 1.假设需要更新的程序是放在一个外接的E2PROM里, 2.怎样让单片机执行RAM里的指令,以便更新ROM区 3.通过执行RAM里的指令读出E2PROM的 ...…

查看全部问答>

青岛的嵌入式开发

有青岛的嵌入式开发的吗?能不能跟个贴…

查看全部问答>

求教关于Wince窗口置顶问题

我要实现的目标: 1、一个置顶的小窗口TopBar,显示状态; 2、其它窗口类型为Popup,这些窗口不能覆盖顶部窗口TopBar 就这么简单 现在遇到的问题是,TopBar已经用下面这条语句设置置顶窗口了 复制内容到剪贴板代码: ::SetWindowPos( GetSafeH ...…

查看全部问答>

WINCE5加载顺序

我在使用WINCE5时,在GWES加载到DISPLAY时,总是会有几十秒钟的LCD黑屏才能显示WINCE的界面,我现在想把这个问题解决! 请问:如何能使EXPLORER在gwes之前加载,或者有无更加好的办法!…

查看全部问答>

向各位大大请教一个双向单线隔离的问题。

向各位大大请教一个双向单线隔离的问题。   现在要做一个TTL电平的双向单线光电隔离,请问有没有芯片可以实现这个功能?…

查看全部问答>