Добрый день! Вопрос по поводу подключения преобразователя TTL-RS232. Требуется с порта Serial1 передать команду в COM порт. На порту Serial все работает нормально. Слушал снифером. теперь собственно проблема. есть такой адаптер http://amperka.ru/product/rs232-ttl-converter он подключен к Neo по след схеме: VCC - +5V GND - GND RXD - PIN0 TXD - PIN1 (команда прописана на Serial1 (9600)) Далее конвертер подключен к MOXA Uport 1150l MOXA имеет порт COM3 (9600) Включаю мониторинг COM3 порта Включаю PuTTY и в случайные моменты времени вижу вот это (вложение принтскрин) Само собой нужные мне данные не передаются. Что не так? Может подскажет кто! Вот текст самой программы int button = 2; int led = 13; void SendData() { char data[5]{0x02, 0x44, 0x43, 0x03, 0x06}, data2[1]{0x05}; Serial1.write(data); delay(220); Serial1.write(data2); delay(5000); } void setup() { pinMode(led, OUTPUT); Serial.begin(9600); pinMode(button, INPUT); //digitalWrite(button, HIGH); } void loop(){ if (!digitalRead(button) == HIGH) { digitalWrite(led, HIGH); SendData(); } else { digitalWrite(led, LOW); } }
Ошибка в коде и по этой причине не согласование скоростей. Serial.begin(9600); код вообще пришлось сильно поменять, чтоб по замыканию кнопки уходила команда.