Обмен данными между двумя UART
- Войдите на сайт для отправки комментариев
Вс, 01/09/2013 - 02:01
Подскажите как дублировать данные между двумя UART, т.е. я ввожу данные в терминале, и они пересылаются на софтовый UART. В тоже время если на softwareSerial приходят данные, то они попадают ко мне в терминал.
Вот такой код не работает, проверял замыкая 9 и 10 пин (Rx и Tx).
#include <SoftwareSerial.h> SoftwareSerial mySerial(10, 9); //Rx, Tx void setup() { Serial.begin(9600); mySerial.begin(9600); pinMode(10, INPUT); pinMode(9, OUTPUT); } void loop() { if (Serial.available()) { mySerial.print(Serial.read()); } if (mySerial.available()) { Serial.print(mySerial.read()); } delay(10); }
скажите а вы на что заливаете?
На Arduino Uno
SoftwareSerial.h не позволяет вести одновремено прием и передачу, так как прием (так же как и передача) является блокирующим, то есть PinChenge-прерывание используются только для отслеживания стартового бита, а сам прием построен на задержках:
saniks, по-моему, в вашем скетче есть лишние строки: 07,08,23.
И попробуйте пример с этой странички http://arduino.cc/en/Reference/SoftwareSerial
Данные строки ничего не меняют и проба примера не поможет.