今天小编要和大家分享的是控制,MCU相关信息,接下来我将从stm32单片机GPIO端口的特点及应用解析,寄存器(内存访问)ppt这几个方面来介绍。
控制,MCU相关技术文章stm32单片机GPIO端口的特点及应用解析
一、GPIO的综合描述
stm32每一个GPIO端口拥有2个32bits的configuration寄存器(GPIOx_CRL,GPIOx_CRH),2个32bits的数据寄存器(GPIOx_IDR,GPIOx_ODR),1个32bits的set/reset寄存器(GPIOx_BSRR),1个16bits的reset寄存器(GPIOx_BRR)和1个32bits的Lock寄存器(GPIOx_LCKR)。
(一)每一个IO引脚都可以使用软件配置为以下几种模式:
1. 浮空输入
2. 带上拉输入
3. 带下拉输入
4. 模拟输入
5. 开漏输出——(此模式可实现hotpower说的真双向IO)
6. 推挽输出
7. 复用功能的推挽输出
8. 复用功能的开漏输出
模式7和模式8需根据具体的复用功能决定。
每一个IO引脚都可以单独编程,但是每一个IO寄存器只能32bits访问(半字或者字节访问都被禁止)。
(二)专门的寄存器(GPIOx_BSRR和GPIOx_BRR)实现对GPIO口的原子操作,即回避了设置或清除I/O端口时的“读-修改-写”操作,使得设置或清除I/O端口的操作不会被中断处理打断而造成误动作。
(三)每个GPIO口都可以作为外部中断的输入,便于系统灵活设计。
(四)I/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这有利于噪声控制。
(五)所有I/O口兼容CMOS和TTL,多数I/O口兼容5V电平。
(六)大电流驱动能力:GPIO口在高低电平分别为0.4V和VDD-0.4V时,可以提供或吸收8mA电流;如果把输入输出电平分别放宽到1.3V和VDD-1.3V时,可以提供或吸收20mA电流。
(七)具有独立的唤醒I/O口。
(八)很多I/O口的复用功能可以重新映射。
(九)GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。此功能非常有利于在程序跑飞的情况下保护系统中其他的设备,不会因为某些I/O口的配置被改变而损坏——如一个输入口变成输出口并输出电流。
二、GPIO的配置
(一) GPIO模式选择和速度匹配
(1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1。