STM32 IO口双向问题

如果需要使用一个GPIO既要用作输入也要用作输出的,可以将该引脚配置为Output-OpenDrain,
同时在引脚上连接一个上拉电阻,可将它用作(准)双向输入输出口。

    输出时: GPIOx->ODR =输出值;

    输入时: 读时先输出高电平(否则有可能因先前低电平输出锁死IO口为低电平),然后读.
    GPIOx->ODR = 0xFFFF;
    变量 = GPIOx->IDR;

原文地址:https://www.cnblogs.com/shangdawei/p/3246688.html