原创 IO口的10大优势

2009-11-24 16:19 2256 6 6 分类: MCU/ 嵌入式

STM32 GPIO的十大优越功能综述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


 


1)真双向IO2)速度快,3)寄存器功能重复。关于第3点有说好,有说多余的,见仁见智。



下面我就在做个抛砖引玉,根据ST手册上的内容,简单地综述一下GPIO的功能:
一、共有8种模式,可以通过编程选择:
1.
浮空输入
2.
带上拉输入
3.
带下拉输入
4.
模拟输入
5.
开漏输出--(此模式可实现hotpower说的真双向IO)
6.
推挽输出

7.
复用功能的推挽输出
8.
复用功能的开漏输出
模式7和模式8需根据具体的复用功能决定。


二、专门的寄存器(GPIOx_BSRRGPIOx_BRR)实现对GPIO口的原子操作,即回避了设置或清除I/O端口时的"-修改-"操作,使得设置或清除I/O端口的操作不会被中断处理打断而造成误动作。


三、每个GPIO口都可以作为外部中断的输入,便于系统灵活设计。


四、I/O口的输出模式下,有3种输出速度可选(2MHz10MHz50MHz),这有利于噪声控制。


五、所有I/O口兼容CMOSTTL,多数I/O口兼容5V电平。


六、大电流驱动能力:GPIO口在高低电平分别为0.4VVDD-0.4V时,可以提供或吸收8mA电流;如果把输入输出电平分别放宽到1.3VVDD-1.3V时,可以提供或吸收20mA电流。


七、具有独立的唤醒I/O口。


八、很多I/O口的复用功能可以重新映射,见:你知道吗?STM32上很多管脚功能可以重新映射。


九、GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。此功能非常有利于在程序跑飞的情况下保护系统中其他的设备,不会因为某些I/O口的配置被改变而损坏--如一个输入口变成输出口并输出电流。


十、输出模式下输入寄存器依然有效,在开漏配置模式下实现真正的双向I/O功能。



我这里总结的不一定全面,请各位补充,并讨论各种功能在实际应用中的优缺点,谢谢。


 


Io配置的知识:
推挽输出与开漏输出的区别:
>>推挽输出:可以输出高,低电平,连接数字器件。

输出 0 时,N-MOS 导通,P-MOS 高阻 ,输出0

输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。
>>开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).

输出 0 时,N-MOS 导通,P-MOS 不被激活,输出0

输出 1 时,N-MOS 高阻, P-MOS 不被激活,输出1(需要外部上拉电路);此模式可以把端口作为双向IO使用。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条