STM32

编程

GPIOx_CRL(x=A~E)

地址偏移:端口配置的初始地址加上偏移地址就是该特殊寄存器的地址

GPIO通用输入输出8种工作模式


1.浮空输入模式:

(1)当GPIOx_CRL或GPIOx_CRH寄存器的CNF[1:0]位设置为01,并且MODE[1:0]位设置为00时

(2)STM32复位之后默认模式

2.输入上拉模式

(1)在浮空输入模式基础上使能输入电路中的上拉开关

(2)由输出数据寄存器(GPIOx_ODR)引脚对应位设置为1来使能上拉功能

3.输入下拉模式

4.模拟输入模式

5.开漏通用输出模式

GPIO的输出是由一个PMOS和一个NMOS组合形成的反相器驱动。开漏电路中的漏 是指MOS的漏级

(1)控制I/O引脚开漏输出高电平:

方法一、GPIOx_BSRR对应位置为1

方法二、直接置GPIOx_ODR对应位为1

效果:MOS控制线输出低电平,这时NMOS管截止(PMOS不被激活),引脚呈高阻态,不会有电流流动。

(2)控制I/O引脚开漏输出低电平:

方法一、GPIOx_BSRR或者GPIOx_BRR引脚对应外设置为1

方法二、直接置GPIOx_PDR对应位为0

效果:NMOS导通(PMOS不被激活)引脚呈低电平状态,允许有电流从引脚流入。

6.推挽通用输出模式:


(1)控制I/O开漏输出高电平:

方法一、GPOx_BSRR对应位置为1

方法二、直接置GPIOx_ODR对应位为1

效果:PMOS控制线输出低电平,此时PMOS导通,同时在NMOS输出低电平,此时NMOS截止,最终I/O引脚呈高电平状态,如果构成回路可有电流从引脚流出

(2)控制I/O引脚开漏输出低电平:

方法一、GPIOx_BSRR或者GPIOx_BRR引脚对应外设置为1.

方法二、直接置GPIOx_ODR对应位为0

效果:PMOS控制线输出高电平,此时PMOS截止,同时在NMOS控制器输出高电平,此时NMOS导通,最终I/O引脚呈低电平,如果构成回路可以有电流从引脚流入

7.推挽复用功能输出模式:

一个I/O引脚可以做为普通的IO接口,还可以做为其他外设的特殊功能引脚,有些引脚可能有4、5种不能功能。引脚复用为特殊功能引脚,引脚状态由外设决定。

8.开漏复用功能输出模式:

STM32的单片机每个功能模块有自己的时钟系统,所以要想要调用STM32单片机的功能模块时 必须先配置对应时钟,然后才能去操作相应的功能模块.端口重映射也一样

STM32可以使用三种不同的系统时钟SYSCLK:HSE 外部晶振/陶瓷谐振器,HSI 外部晶振/陶瓷谐振器,PLL锁相环时钟

以上是 STM32 的全部内容, 来源链接: utcz.com/z/519535.html

回到顶部