Как отобразить последовательные данные в консоли
Я использую ESP32 для проекта. Я использую один Serial со скоростью 115200 бод и Serial2 со скоростью 9600 бод.
Мне нужно получить сообщение на Serial2, и я хочу отобразить его на Serial для целей отладки. Я печатаю сообщение в цикле:
void setup() {
Serial.begin(115200);
Serial2.begin(9600, SERIAL_8N1, 16, 17);
}
void loop() {
while (Serial2.available() > 0) {
Serial.print(char(Serial2.read()));
}
}
В консоли ничего не отображается. Если я использую Serial.print(Serial2.read(), BIN)
, консоль печатает то же количество 0
, что и символ в сообщении, которое я полагаю получить.
IE Если я отправлю "HelloWorld", консоль напечатает "0000000000"
@LordOptimistic, 👍0
Обсуждение0
Смотрите также:
- esp32 Stack canary watchpoint срабатывает
- Почему функция server.on() из "ESPAsyncWebServer.h" выполняется на стороне setup(), а не на стороне loop()?
- ESP32 отправляет данные на другой ESP32 без установления соединения Wi-Fi
- Передача нестатической функции-члена с помощью bind
- Увеличить частоту дискретизации на плате ESP32
- Отправить только один пакет с одного ESP32 на другой ESP32 без подтверждения
- Использование лямбд в качестве функций обратного вызова
- Каков наилучший способ преобразования std::string в строку?
Всегда ли он печатает то же количество «0», что и количество символов в вашем сообщении, независимо от сообщения? Как вы «отправляете» «HelloWorld»?, @lurker
Если вы читаете данные с последовательного порта на Arduino, попробуйте найти другой способ просмотра последовательных данных с модема, чтобы убедиться, что это сторона модема, а не сторона Arduino. Если вы занимаетесь подобной разработкой, удобно иметь пару инструментов, таких как кабель USB/RS232, чтобы вы могли запустить эмулятор последовательного терминала на своем ПК и посмотреть, что на самом деле отправляет модем., @lurker
Вы подключили GND между двумя устройствами? Вы сказали, что подключили модем - это порт RS232? RS232 использует другие напряжения для передачи сигналов, чем ESP32; вы не можете просто подключить вывод RS232 TX к выводу ESP32 RX., @romkey
похоже проблема с проводкой. Кстати, вы можете использовать Serial.write вместо Serial.print(char(, @Juraj
Ваш код выглядит нормально. Есть ли у вас область для проверки сигнала, поступающего на
Serial2
?, @Edgar BonetМожете ли вы опубликовать схему, как она у вас подключена, и ссылки на техническую информацию об аппаратных устройствах. Не забудьте включить все соединения питания и заземления., @Gil