Здравствуйте!
1. Я использую для приема-передачи канал 1 (RX1, TX1) Ардуино Мега 2560.
2. В моей тестовой программе, когда на Ардуино поступает строка, он ее принимает и затем правильно передает, но после передачи строки продолжает передавать без остановки разную чушь. Получается, что как бы нет признака строки, хотя я вставлял разные коды признака. Код - #13, код - '\n', код - '\0'.
Код программы:
char b1;
int k = 1000;
int ZapPin = 8;
//----------------------------------------------------------------------
void setup() {
pinMode(ZapPin, OUTPUT); // приём - LOW, передача - HIGH
Serial1.begin(19200);
}
//----------------------------------------------------------------------
void loop() {
if (Serial1.available() > 0) {
delay(k);
k = 0;
b1 = (char) Serial1.read();
if (b1 != '\0') {
digitalWrite(ZapPin, HIGH);
Serial1.print("Kod = ");
delay(2);
Serial1.println(b1);
delay(2);
digitalWrite(ZapPin, LOW);
delay(10);
}
if (b1 == '\0') {
Serial1.println("Konec");
delay(2);
digitalWrite(ZapPin, LOW);
delay(10);
}
}
}
Вопрос: подскажите, что не правильно я сделал?
функция Serial.available()
Re: функция Serial.available()
Здравствуйте!
Я заменил Serial1 на Serial, '\0' на '\n'. Попробовал на Ардуино Nano. Все работает как положено:
Я заменил Serial1 на Serial, '\0' на '\n'. Попробовал на Ардуино Nano. Все работает как положено:
Re: функция Serial.available()
Конец строки я получаю и вывожу, но функция (Serial1.available() > 0) не становится равной нулю при чтении байтов командой Serial1.read(), а почему это происходит я не понимаю. К порту RX1-TX1 подключен конвертер
RS-485 TTL. Связь с компьютером происходит по RS-485.
RS-485 TTL. Связь с компьютером происходит по RS-485.
Re: функция Serial.available()
Здравствуйте !
Проблема решена.
Закоротил на конвертере RS-485 TTL контакты DE, RE и подал на них управлене: HIGH - передача, LOW - прием.
Проблема решена.
Закоротил на конвертере RS-485 TTL контакты DE, RE и подал на них управлене: HIGH - передача, LOW - прием.
Вернуться в «Программирование Ардуино»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей