这几天在对照书上和网上的范例学习STM32内部的SDIO接口驱动SD卡, 看到的范例里对SDIO使用到的CMD, DATA0-DATA3这些GPIO引脚都是配置为AF_PP即复用推挽输出;
我的疑问是: 像SDIO的CMD以及DATAn引脚都是需要数据双向传输的,( 可能为STM32发送到SD卡, 可也能是SD卡响应的时候回传数据) ,那么如果这些引脚上的数据要实现双向传送, 在GPIO配置成复用推挽模式的情况下,岂不是数据只能由主机传送到SD卡, 而SD卡无法通过此GPIO口回传需要响应的数据了吗?
因为如果一个GPIO口配置成推挽模式,那么它的引脚上的状态要么是Vcc, 要么是GND, 即是这两种带有驱动能力的电平状态之一, 这显然无法实现数据的双向传送; 而如果设置成 复用开漏输出配合外部挂接的上拉电阻则可实现类似于51单片机的准双向IO口, 不知道我的理解是否有错误, 以及错在哪里, 望指正,谢谢!
不知道是我哪里理解的不对? 我的 |