STM32使用寄存器点亮LED

发布者:悠然自在最新更新时间:2021-12-15 来源: eefocus关键字:STM32  寄存器  点亮LED 手机看文章 扫描二维码
随时随地手机看文章

前言

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


一、什么是寄存器?

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语言对寄存器的封装。以此类推,其他外设也同样可以用这种方法来封装。


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

关键字:STM32  寄存器  点亮LED 引用地址:STM32使用寄存器点亮LED

上一篇:STM32固件库文件含义解析
下一篇:单片机的四种烧写方式

推荐阅读最新更新时间:2024-11-03 10:55

基于ML2035的简易正弦信号发生器设计
正弦信号源是一种广泛应用的信号源,对它的要求也随着技术的发展越来越高。传统的正弦信号发生器往往在低频输出时的频率的稳定度和精度等指标都不高。我们知道为了获得高频率稳定度的信号源,往往采用锁相环实现,但这种方法电路复杂、体积庞大。近年来,DDS技术由于具有容易产生频率快速转换、分辨率高、相位可控的信号,这在电子测量、雷达系统、调频通信、电子对抗等领域得到了十分广泛的应用。然而,如果选用通常的Analog公司的系列DDS芯片研制低频正弦信号发生器,往往需要外部微处理器,因此电路较复杂,并且频率稳定度不佳。为此,本文将讨论基于ML2035设计简易的正弦信号发生器,它具有外围元器件少,电路实现简单,可以不需要外部微处理器的特点。 ML2
[模拟电子]
基于STM32两轮自平衡小车
一、硬件介绍 主控芯片用的是100脚的STM32F103VET6,陀螺仪用的是MPU6050,电机驱动用的是TB6612,蓝牙是汇承的HC05邮票孔封装的,WIFI用的是济南有人科技的USR-WIFI232-S,小车底盘用的是平衡小车之家的某一款带编码器的(不是我买的,同学的),电池用的是一节7.2的镍镉电池,液晶用的是中景园电子1.3寸IIC接口的OLED,开关用的是三脚纽子开关,电池接口用的是T插,电阻电容这些用的基本上是0603封装,编码器5V降压用的是ASM1117-5.0,3.3V降压用的是SP6203,拨码开关用的是4P贴片式2.54mm角距的,按键是两脚贴片,microusb接口用的是5针 7.2四脚插板牛角
[单片机]
基于<font color='red'>STM32</font>两轮自平衡小车
STM32位带操作详解
一. Cortex-M3存储器映射 存储区最开始的1GB空间分别为code(代码)区和SRAM区,Code区使用经过针对优化的I-Code总线来连接,同理,SRAM区使用D-Code总线连接,虽然SRAM也可以用来转载和执行代码,但这样做会使CPU不得不通过系统总线来取指令,产生额外CPU等待周期,因此在SRAM中运行代码会比代码区的片上Flash中运行要缓慢。 接下来的0.5GB存储空间是片上外设区,微控制器的所有用户设备的基地址都落在这个区域内,片上外设区和SRAM区的起始1MB区域可以用来使用位带技术实现位寻址,由于STM32所有SRAM和外设都位于这个区域,因此STM32所有存储区都可以用“字(Word)”或“位(bi
[单片机]
STM32 驱动无线NRF24L01 的稳定修正
修正处 void sent_data(u8* fp,u16 flong) { u16 i; TX_Mode((u8*)&flong); //传送长度 while(!tran); //等待完成 tran=0; flong=flong/33+1; while(flong) { for(i=0;i 20000;i++); //这个延时的非常必要 大约2MS 左右 if(MAX_RT) return;//无应答返回 TX_Mode(fp); //传送数据 while(!tran); //等待完成 tran=0; fp+=32;flong--; } } 更加合理的延时写法 ,发送分两部分 首先发送内容长度
[单片机]
<font color='red'>STM32</font> 驱动无线NRF24L01 的稳定修正
stm32---RS485半双工通信
典型的串口通信标准有 RS232 和 RS485,RS232 是全双工点对点的通信,而 RS485 是半双工通信(2 线制),可以一点对多点进行组网,而且 RS485 是用缆 线两端的电压差值来表示传递信号,这与 RS232 电气特性大不一样。RS485 仅仅 规定了接受端和发送端的电气特性,并没有规定或推荐任何数据协议,因此 RS485 的协议层可以和 RS232 一样。 连接方式 发送数据时,串口控制器的 TX 信号经过 收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信 号转化成 TTL 信号通过 RX 引脚传输到串口控制器中 SP3485 SP3485是板子上的收发器。对收发器,RO是接
[单片机]
STM32定时器----Toggle模式实现2路pwm移相
原理如下: 以下代码实现了利用TIM3的CH3以及CH4输出两路移相的PWM,移相角度为225度。 void TIM3_PWMShiftInit(void) { TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; GPIO_InitTypeDef GPIO_InitStruct; TIM_OCInitTypeDef TIM_OCInitStruct; /**********************TIM3 GPIO配置*****************************/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,
[单片机]
stm32 定时器重映射
void TIM3_GPIOB5_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE); GPIO_AFIODeInit(); //将重映射恢复为初始值 //在程序中只可以调用一次,不然之前的设置就取消了 GPIO_PinRemapConfig(GPIO_Par ti alRemap
[单片机]
STM32单片机的高精度超声波测距系统设计
一、系统组成 STM32单片机的高精度超声波测距系统的设计主要由STM32单片机、超声波发射电路、接受电路、补偿电路和软件等构成。该系统将STM32单片机作为整个系统的核心,通过协调各部分电路工作,进而实现高精度的超声波测距口。 二、系统硬件设计 1、超声波发射电路 超声波发射电路两个最主要的组成部分就是超声波探头和超声波激励电路。超声波探头不仅是超声波发射电路的一个重要组成部分,更是整个超声波测距系统的重要组成部分。它是超声波测距系统中用以发射或接受超声波信号的主要器件。超声波激励电路的基本工作原理是首先利用相应的机理信号对一特定形式的电压进行处理之后,将其加载到超声波探头上,然后再通过超声波探头压电晶片将其自身所具有的电能
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved