ESP32-C3-WROOM-02的GPIO19配置问题???[已解决]

Joeruan
Posts: 3
Joined: Mon Sep 20, 2021 9:39 am

ESP32-C3-WROOM-02的GPIO19配置问题???[已解决]

Postby Joeruan » Mon Sep 20, 2021 9:53 am

我在ESP32-C3-WROOM-02上将GPIO18和GPIO19端口配置成输入下拉,外部也做了下拉处理,读取这两个IO的状态,GPIO18是低电平,而GPIO19却是高电平??而在ESP32-WROOM-32E上同样的配置,读取出来都是低电平。

#define GPIO_INPUT_1 18
#define GPIO_INPUT_2 19
#define GPIO_INPUT_PIN_SEL ((1<<GPIO_INPUT_1) | (1<<GPIO_INPUT_2))

void Input_GPIO_Init(void)
{
gpio_config_t io_conf;
io_conf.intr_type = GPIO_PIN_INTR_DISABLE;
io_conf.mode = GPIO_MODE_INPUT; //输入
io_conf.pin_bit_mask = GPIO_INPUT_PIN_SEL;
io_conf.pull_down_en = 1;
io_conf.pull_up_en = 0;
gpio_config(&io_conf);
}

a11aa3e18c9a020acba6882e6eaea81.png
a11aa3e18c9a020acba6882e6eaea81.png (14.02 KiB) Viewed 6477 times

Joeruan
Posts: 3
Joined: Mon Sep 20, 2021 9:39 am

Re: ESP32-C3-WROOM-02的GPIO19配置问题???

Postby Joeruan » Thu Sep 23, 2021 4:09 am

好了,等了几天没啥结果,自己发现原因了。有点坑。
输入关闭。。。。上拉电阻使能。。。。
在ESP32-C3的芯片手册中有描述到:
1.png
1.png (126.09 KiB) Viewed 6441 times

Joeruan
Posts: 3
Joined: Mon Sep 20, 2021 9:39 am

Re: ESP32-C3-WROOM-02的GPIO19配置问题???

Postby Joeruan » Thu Sep 23, 2021 12:25 pm

:shock: 尴尬,解决了这个问题。
第一次玩这个ESP32感觉有点坑啊。一开始玩的是模组,而模组的datasheet没看到这些说明,在玩芯片的是时候才发现。

解决方法如下:
上次说到ESP32-C3的datasheet中有说到,下方还有一句重点:
1.png
1.png (106.02 KiB) Viewed 6383 times
好了,那么去找到这个寄存器。在esp32-c3_technical_reference_manual_cn文档中:
2.png
2.png (183.8 KiB) Viewed 6383 times
再来个简单粗暴的直接把这个寄存器写0,现在IO读取出来都是低电平了。分别在这两个GPIO口上测试,单独加高电平后对应的IO就变成高电平了,测试结果正确。
3.png
3.png (19 KiB) Viewed 6383 times
:oops: :oops: :oops: too young too simple :oops: :oops: :oops:

13435374944
Posts: 3
Joined: Mon May 23, 2022 10:02 am

Re: ESP32-C3-WROOM-02的GPIO19配置问题???

Postby 13435374944 » Fri Jun 17, 2022 9:43 am

你好,可以把后面操作寄存器的代码贴出来看看嘛?

freegoto
Posts: 1
Joined: Mon Jul 04, 2022 8:14 am

Re: ESP32-C3-WROOM-02的GPIO19配置问题???

Postby freegoto » Mon Jul 04, 2022 8:26 am

Good!!!!

toddzzf
Posts: 1
Joined: Sun Jul 10, 2022 2:14 am

Re: ESP32-C3-WROOM-02的GPIO19配置问题???

Postby toddzzf » Sun Jul 10, 2022 2:39 am

我也遇到了类似的问题,解决方法一样,就加一句:
  1. CLEAR_PERI_REG_MASK(USB_SERIAL_JTAG_CONF0_REG, USB_SERIAL_JTAG_DP_PULLUP);
前面需要#include "soc/usb_serial_jtag_reg.h"

Who is online

Users browsing this forum: No registered users and 23 guests