gpio_mode_t 相关
Posted: Mon Jul 11, 2022 8:57 am
之前由于误操作,问题还没说完就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引脚的输入输出模式吗?
问题由来:我需要读取温湿度传感器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引脚的输入输出模式吗?