Как использовать ESP32 WROOM GPIOS выше № 18 с arudino ide?
Я использую Arduino IDE версии 1.8.8. Я пытаюсь управлять ESP32-комната. Gpios на пинах 16 и 17 работают. У меня есть несколько реле на GPIO 18 и 19, которыми я также хотел бы управлять. Я также не могу контролировать GPIO, которым больше 17. Я пробовал от 18 до 27, но не могу их переключать.
#define relayPin3 18
#define relayPin4 19
int relayflag = 0;
void loop() {
delay(1000);
if (relayflag == 0){
digitalWrite(relayPin3, LOW);
digitalWrite(relayPin4, HIGH);
relayflag =1;
}
else
{
digitalWrite(relayPin3, HIGH);
digitalWrite(relayPin4, LOW);
relayflag = 0;
}
}
Я заметил, что GPIO 18 и 19 также используются совместно с портами SPI.
Команда digitalWrite работает для любого GPIO или она используется другой библиотекой? Есть ли какая-то другая команда для получения доступа к GPIO, которую мне нужно использовать? Некую библиотеку, которую мне нужно изменить.
@Voltage Spike, 👍0
1 ответ
Лучший ответ:
Ответ найден, хотя и простой. Это мой первый опыт работы с Арудино, поэтому для тех, кто программирует микропроцессоры (в том числе и для меня), это будет выглядеть смешно.
Перед использованием вам необходимо объявить вывод как выход. Самое противоречивое в том, что такое случается лишь иногда. Для работы некоторых контактов вам не обязательно использовать pinMode.
pinMode(relayPin1, OUTPUT);
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
Нам всем нужно с чего-то начинать в изучении новых вещей. Молодец, что опубликовал свое решение., @Duncan C
Если вы не установите режим вывода, результаты будут неопределенными. Возможно, он уже находится в нужном вам режиме, а может и нет., @Duncan C