小辣记【野火stm32自学笔记】点灯仪式

前记

置位:|=

清零:&=~

使用寄存器点亮LED灯

让绿灯亮PB0

PB0连接3.3V 低电平亮

端口输出寄存器ODR

APB2中的GPIO端口B的基地址为0x40010C00

地址偏移为0x0C

控制PB0为1

清零 左移一位

故地址为0x40010C0C

配置IO口为输出(端口配置低寄存器CRL)

无偏移,地址为:0x40010C00

PB0位置上的值为00【推挽输出模式】(CNF0)01(MODE0)

输出模式,最大速度为10MHz

GPIOB端口时钟(RCC寄存器)

时钟是“心脏”

复位和时钟控制RCC在AHB系统总线上

偏移后地址为:0x40021000+0x18,即0x40021018

在第三位,故将1偏移3位

GPIO功能框图

GPIO:通用输入输出端口的简称,STM32芯片的GPIO引脚与外部设备连接起来

2.推挽、开漏或关闭(端口配置低寄存器CRL、端口配置高寄存器CRH)

每四个位控制一个GPIO

 

推挽输出

可以输出高低电平,高电平由VDD决定(系统电源3.3V),低电平由VSS决定;

推挽结构是指两个三极管受两路互补信号控制,总在一个导通的时候另外一个截止;

输出高电平时,电流输出到负载,称为灌电流(推),输出低电平时,负载电流流向芯片,称为拉电流(挽)

开漏输出

只能输出低电平,如果要输出高电平,则需要外接上拉;

具有“线与”功能,如果一个为低,全部为低,多用于I2C和SMBUS总线

3.输出数据寄存器(端口输出寄存器ODR)

可以直接操作位设置位清除寄存器BSRR\BRR

4.复用功能输出

来自于外设

数据寄存器

5.输入数据寄存器(端口输入寄存器IDR)

32位只用16位有效

上拉或者下拉输入

在CRL或CRH中配置成10;但具体上拉还是下拉通过BSRR来设置

GPIO输出初始化顺序

step1选定GPIO

step2 配置GPIO工作模式(CRL和CRH寄存器):输入还是输出

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

寄存器映射代码

Finish~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值