Проблема с последовательным соединением. Данные искажены

У меня есть аппаратное устройство, которое отправляет данные через последовательный порт и сокет.

У меня TX устройства подключен к RX ESP8266, RX устройства к TX ESP8266.

Скорость связи на обоих установлена на 115200.

Код — это не что иное, как

void setup() {
  // Открытие последовательной связи и ожидание открытия порта:
  Serial.begin(115200);
  while (!Serial) {
    ; // ждем подключения последовательного порта. Требуется только для собственного порта USB
  }
}

void loop() { // выполняем снова и снова
  if (Serial.available()) {
    Serial.write(Serial.read());
  }
}

Я слушаю сокет и последовательный порт одновременно. На порте сокета я получаю правильные данные (символы ASCII). На последовательном мониторе Arduino я получаю искаженные данные. Кроме того, похоже, что Arduino IDE не справляется с объемом данных. Я отправляю около 100 символов в секунду.

Есть идеи?

Обновление от 13 августа 2018 г.

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


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

, 👍2

Обсуждение

Что это за загадочное устройство?, @Majenko

а как подключен Serial Monitor?, @Juraj

Тайное устройство — это RFID-считыватель. Последовательный монитор подключается через USB-порт и запускается из Arduino IDE., @Ton Machielsen

Какой RFID-считыватель? Причина, по которой я спрашиваю, заключается в том, что не все последовательные соединения одинаковы. Мне нужно знать точное устройство, чтобы я мог найти руководство/технические данные и узнать, какой тип последовательного соединения у него есть. Существует вероятность, что вам может потребоваться дополнительное оборудование между устройством и вашим ESP8266., @Majenko


1 ответ


1

Я думаю, что сигналы RS232 выходят за пределы TTL; Я не знаю, нанесли ли вы какой-либо необратимый ущерб.

О самом интерфейсе:

https://www.sparkfun.com/tutorials/215

Что касается повреждений:

https://forum.arduino.cc/index.php?topic=26139.0

,