基于stm32的GPIO寄存器学习解析

发布者:Joyful444Life最新更新时间:2024-04-22 来源: elecfans关键字:stm32  GPIO  寄存器 手机看文章 扫描二维码
随时随地手机看文章

GPIO即通用输入/输出 (General Purpose Input Output)

包括:

两个32位的配置寄存器 GPIOx->CRL,GPIOx->CRH

两个32位的数据寄存器 GPIOx->IDR,GPIOx->ODR

一个32位的 set/reset 寄存器 GPIOx->BSRR

一位16位的 reset 寄存器 GPIOx->BRR

一位32位的锁定寄存器 GPIOx->LCKR

端口的模式包括:

浮空输入(Input floating)—— 即没有上拉电阻下拉电阻,电压呈不确定性,一般用来做ADC输入用,这样可以减少上下拉电阻对结果的影响

基于stm32的GPIO寄存器学习解析

上拉输入(Input pull-up)

下拉输入(Input-pull-down)

模拟输入(Analog)

开漏输出(Output open-drain)—— 输出逻辑0,则N-MOS激活; 输出逻辑1,端口处于高阻(电阻非常大,但不是断路,此外,P-MOS从未激活)

推挽输出(Output push-pull)—— 输出逻辑0,则N-MOS激活;输出逻辑1,P-MOS激活

复用功能推挽输出(Alternate function push-pull)——片内外设功能(I2C的SCL,SDA)

复用功能开漏输出(Alternate function open-drain)——片内外设功能(USART的TX1,SPI的MOSI,MISO,SCK,SS)

复用开漏输出、复用推挽输出:可以理解为GPIO口被用作第二功能时的配置情况(即并非作为通用IO口使用)

注意:I / O端口寄存器被访问为32位字(半字或字节存取是不允许的)

其余具体的可以查看stm3210x 手册

GPIOx->CRL 低位(0-7)端口配置寄存器(x = A~ G,该寄存器偏移地址为:0x00):

GPIOx->CRH 高位(8-15)端口配置寄存器(x = A~ G,该寄存器偏移地址为:0x04):

GPIOx->IDR 端口数据输入寄存器(x = A~ G,该寄存器偏移地址为:0x08):只读,可以读取IO口输入的值

GPIOx->ODR 端口数据输出寄存器(x = A~ G,该寄存器偏移地址为:0x0C):可写可读,可以设置IO口输出的值

GPIOx->BSRR 低位端口配置寄存器(x = A~ G,该寄存器偏移地址为:0x10):0-15位——为1时,可以使ODRx相应的位置1,为0时,无变化 。15-31位——为1时,可以使ODRx相应的位清零,为0时,无变化(注:当set和reset都设置了,则set优先级高)

GPIOx->BSR 低位端口配置寄存器(x = A~ G,该寄存器偏移地址为:0x14): 0-15位——为1时,可以使ODRx相应的位清零,为0时,无变化

注:用BSRR和BRR去改变管脚状态的时候,没有被中断打断的风险,也就不需要关闭中断

GPIOx->LCKR 端口配置锁定寄存器(x = A~ G,该寄存器偏移地址为:0x18):用来锁定对应位的端口位配置,当端口被锁定时,不再有可能修改它的值,直到系统复位。每一个锁都冻结相应的4位控制寄存器(CRL,CRH)

例子:

/*根据高8位的输入电平来决定低8位的输出电平*/

GPIOA->CRL = 0x33333333; //GPIOA.0-GPIO0.7 output push-pull 50MHzGPIOA->CRH = 0x44444444; //GPIOA.8-GPIOA.15 input floating

while(1){if(GPIOA->IDR & 0xff00)GPIOA->ODR = (GPIOA->IDR >> 8) & 0xff;elseGPIOA->ODR = 0;}


关键字:stm32  GPIO  寄存器 引用地址:基于stm32的GPIO寄存器学习解析

上一篇:基于STM32F4x9的LCD显示系统架构设计
下一篇:STM32F407总线存储框架及应用设计

小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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