Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SoftwareSerial на arduino
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
AlexCorvis
Здравствуйте! Возникла проблема с передачей данных по UART, портятся символы...

Прошил arduino nano таким кодом:
CODE
int resetpin = 6;

#include <SoftwareSerial.h>
SoftwareSerial wt32(2, 3);

void setup()
{
pinMode(resetpin,OUTPUT);

Serial.begin(57600);
wt32.begin(57600);

digitalWrite(resetpin, HIGH);
delay(100);
digitalWrite(resetpin, LOW);

wt32.listen();
}

void loop()
{
while (wt32.available() > 0) {
char inByte = wt32.read();
Serial.write(inByte);
}

while (Serial.available() > 0) {
char inByte = Serial.read();
wt32.write(inByte);
}
}

Он должен ребутить девайс подключенный по UART, затем начинать сеанс общения... копировать поступающие от девайса данные в Serial чтобы видеть их на компе, и наоборот... короче такой мост

Данные бегают туда-сюда, но связь стабильно глючит... данные обрываются или иногда приходят с ошибками.
Скорость пробовал менять, не помогает...

Девайс работает стабильно если подключить его напрямую к ногам RX TX arduino и загрузить такой код:
Код
int resetpin = 6;

void setup()
{
    // не мешаем TX и RX
    pinMode(0, INPUT);
    pinMode(1, INPUT);

    pinMode(resetpin,OUTPUT);

    digitalWrite(resetpin, HIGH);
    delay(100);
    digitalWrite(resetpin, LOW);
}
void loop()
{
}

то консоль общается с ним идеально, без всяких ошибок!
девайс настраивается, работает в режиме 8n1, но вроде бы флоу контрол включен, я замкнул одну ногу (UART_NCTS) на землю и тогда вроде бы флоу контрол должен быть выключен... напрямую все работает, через контроллер глючит!

Подскажите пожалуйста в чем может быть косяк, в какую сторону копать)
hd44780
А зачем вам софтовый UART? пользуйтесь аппаратным. Или Вам надо 2 UART-а?
Я когда-то пытался его заюзать (надо было 2 UART-а, облом было Mega128 ставить, у которой 2 железных...) - оно вообще не пошло. Правда я забил тогда - не стал разбираться....

Flow контрола в мегах вообще по-моему нету. Никакого - ни программного, ни аппаратного. Или я отстал от жизни?
Если нужен, пишите его сами, в коде. Ручками.

И какой проц в Вашем Arduino Nano?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.