发新帖我要提问
12
返回列表
打印
[其他ST产品]

STM32学习笔记(3):通用输入输出端口

[复制链接]
楼主: 过期的塔头
手机看帖
扫描二维码
随时随地手机跟帖
21
过期的塔头|  楼主 | 2021-9-29 22:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

由图4可以看出,当I/O端口被配置为复用功能AF(Alternate Function)时:
● 输出缓冲器可以被配置成开漏或推挽;
● 输出缓冲器被片上外设信号驱动;
● 施密特触发器输入被激活;
● 根据寄存器GPIOx_PUPDR中的值选择引脚为弱上拉或弱下拉或悬空输出;
● I/O脚上的数据在每个AHB1时钟周期被采样到输入数据寄存器;
● 对输出数据寄存器的读访问得到最后一次写的值。

使用特权

评论回复
22
过期的塔头|  楼主 | 2021-9-29 22:55 | 只看该作者

由图5可以看出,档I/O端口被配置为模拟功能时:
● 输出缓冲器被禁止;
● 施密特触发器输入被暂停,0功耗,并且输出一直维持在0值状态;
● 管脚的弱上拉和下拉被禁止;
● 访问输入数据寄存器得到的数值为0;

使用特权

评论回复
23
过期的塔头|  楼主 | 2021-9-29 22:57 | 只看该作者
五、GPIO引脚作为一般IO输入时,引脚的状态和端口输入寄存器GPIOx_IDR的状态是否一致?

在学习51核单片机时,由于51单片机I/O接口电路结构的原因,I/O输入时,I/O的引脚状态会出现与锁存器不一样的情况。所以,往往在I/O上拉输入前,提前向锁存器写入“1”,指令上也分为读引脚和读锁存器指令。

那么,基于Cortex-M内核的MCU的I/O引脚输入时是否也有与51单片机同样的问题呢??

答案是否定的!因为Cortex-M内核的MCU的GPIO引脚在被配置为I/O输入时,其输出电路是断开的。这样,输出电路就不会影响到引脚的状态。所以,引脚上的状态和输入寄存器GPIOx_IDR中的数据始终一致。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则