Page 1 of 1

esp32c3 cannot control gpio21

Posted: Fri Aug 30, 2024 9:15 am
by Troy Mitchell
Chip: esp32c3 FN4

I set gpio21 to switch the level once every second, but in the end I only got a voltage of about 3v3 to 3v0.

I think the code is ok because I changed 21 to 11 (11 is connected to an led) and everything works fine.

Code:

```c
gpio_config_t cfg;
cfg.mode = GPIO_MODE_OUTPUT;
cfg.pull_up_en = GPIO_PULLUP_ENABLE;
cfg.pull_down_en = GPIO_PULLDOWN_ENABLE;
cfg.pin_bit_mask = 1ull << GPIO_NUM_21;
gpio_config(&cfg);

while (1) {
s_led_state = !s_led_state;
gpio_set_level(GPIO_NUM_11, s_led_state);
vTaskDelay(CONFIG_BLINK_PERIOD / portTICK_PERIOD_MS);
}
```

Re: esp32c3 cannot control gpio21

Posted: Fri Aug 30, 2024 9:17 am
by Troy Mitchell
Troy Mitchell wrote:
Fri Aug 30, 2024 9:15 am
Chip: esp32c3 FN4

I set gpio21 to switch the level once every second, but in the end I only got a voltage of about 3v3 to 3v0.

I think the code is ok because I changed 21 to 11 (11 is connected to an led) and everything works fine.

Code:

```c
gpio_config_t cfg;
cfg.mode = GPIO_MODE_OUTPUT;
cfg.pull_up_en = GPIO_PULLUP_ENABLE;
cfg.pull_down_en = GPIO_PULLDOWN_ENABLE;
cfg.pin_bit_mask = 1ull << GPIO_NUM_21;
gpio_config(&cfg);

while (1) {
s_led_state = !s_led_state;
gpio_set_level(GPIO_NUM_11, s_led_state);
vTaskDelay(CONFIG_BLINK_PERIOD / portTICK_PERIOD_MS);
}
```
I don't think the gpio is affected by the member `pull_down_en`, bcs when I delete it , same thing.

Re: esp32c3 cannot control gpio21

Posted: Fri Aug 30, 2024 11:00 am
by boarchuz
gpio_config_t is not initialised

Also you config(21) and then set_level(11)

Re: esp32c3 cannot control gpio21

Posted: Sat Aug 31, 2024 4:24 am
by Troy Mitchell
boarchuz wrote:
Fri Aug 30, 2024 11:00 am
gpio_config_t is not initialised

Also you config(21) and then set_level(11)
No, I just posted the wrong code, and I actually control 21.
I can see that the voltage jumps at 3 to 3.3v, and if I don't control 21, he won't jump.