Page 1 of 1

gpio_mode_t 相关

Posted: Mon Jul 11, 2022 8:57 am
by nanling
之前由于误操作,问题还没说完就ctrl Enter发帖了,实属抱歉。

问题由来:我需要读取温湿度传感器DHT11的数值,温湿度传感器只有3引脚,VCC,GND,DATA,将DATA引脚与开发板GPIO6连接,我需要先用GPIO6向传感器发送起始信号,随后接收传感器传来的一系列高低电平。

那么对于GPIO6而言,在发送起始信号的时候,是输出模式,接收信号的时候是输入模式,也就是说需要将一个引脚同时配置为输入输出模式。

我注意到,在gpio_mode_t枚举中,有GPIO_MODE_INPUT_OUTPUT参数,即可将引脚配置为输入输出模式。

问题来了:1.为什么可以将一个GPIO引脚同时配置为输入输出模式呢?我大概了解GPIO输出模式和输入模式的电路原理,即图所示。

2.如果可以将GPIO引脚配置为输入输出模式,那么是不是当我使用gpio_set_level时,引脚就会自己配置为输出模式,当我使用gpio_get_level时,引脚就自己配置为输入模式呢?

如果我的猜测是错误的话,可以教我一下,怎样使用GPIO引脚的输入输出模式吗?

Re: gpio_mode_t 相关

Posted: Tue Jul 12, 2022 7:49 am
by ESP_ZhouL
1.输入和输出是可以接不同的signal的,GPIO_MODE_INPUT_OUTPUT 模式使它们绑定在了同一个gpio上。
2. 不是,你应该使用GPIO_MODE_INPUT_OUTPUT_OD实现单总线