ESP32 не может контролировать последовательный порт

Я использую комплект для разработки esp32 v1. Я пишу код, следуя этой картинке.

const int vavle = 1;
int d = 1;

void setup()
{
  Serial.begin(115200);
  delay(2000);
  while (!Serial);
  Serial.println();
  pinMode(vavle,OUTPUT);
  Serial.println(d);
}

void loop()
{
  Serial.print("Open Vavle");
  digitalWrite(vavle,HIGH);
  delay(3000);
  digitalWrite(vavle,LOW);
  delay(1000);
  Serial.print("Close Vavle");
}

но при использовании последовательного монитора возникает ошибка, он показывает мне квадрат. Я подтверждаю, что выбрана истинная цена за борт. вы можете решить эту проблему.

, 👍-1

Обсуждение

первое, что нужно помнить при публикации здесь: «никогда не публикуйте изображение текста без крайней необходимости»… скопируйте свой код и вставьте его в свой вопрос… также скопируйте и вставьте все содержимое последовательного монитора., @jsotola

Примечание: вы, вероятно, захотите открыть или закрыть _клапан_., @PMF


1 ответ


Лучший ответ:

1

Вывод GPIO1, который вы пытаетесь использовать с const int vavle = 1; ... pinMode(vavle, OUTPUT); is тот же вывод, который передает последовательные данные на ПК.

Из распиновки:

DOIT ESP32 DEVKIT V1 ВЫВОД с выделенным контактом TX0/GPIO1/U0TXD.

Ссылка на схему не работает, но если вы найдете схему практически любой подобной платы, использующей этот модуль, вы увидите, что GPIO1/U0TXD подключен к микросхеме последовательного приемопередатчика, который затем подключается к порту USB.

Вам нужно выбрать другой пин. Существуют направляющие для выводов и официальная документация, содержащая те же сведения, которые вы можете использовать, чтобы выяснить, какой GPIO использовать. Все номера GPIO с 16 по 33 включительно поддерживают вывод и, похоже, не имеют особых требований, поэтому их имеет смысл выбирать.

,

Спасибо, я могу решить эту проблему, @poom