Чтение строки STM32 из USART.

sanstan
Offline
Зарегистрирован: 24.06.2019

Добрый день.

Читаю строку из Nextion - должно быть "Start 0x0d 0x0a"

переменная readStr прочитывает максимум 2 символа: "St".

На AVR контроллерах код работал!

Подскажите, почему Serial1 не читает полностью строку.

void  loop(){
 if (Serial1.available()) {
    char inc;
    inc = Serial1.read();
    str123+=inc;
    
    if (inc > 0x2F && inc< 0x7F) {
      readStr+=inc;
    }
        Serial.println(readStr);
    if (inc == 0x0A) {
      str123="";
      sTemp+=readStr;  
       //эта строка вообще не отображается в мониторе порта:
      Serial.println("inc == 0x0A:"+sTemp+ " str 123:"+str123);
    }
  }
}

 

b707
Offline
Зарегистрирован: 26.05.2017

выложите весь код

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Бред какой-то. readStr - это что? Какой тип переменной? Что Вы подразумеваете под str123+=inc;? И т.д.

sanstan
Offline
Зарегистрирован: 24.06.2019

b707 пишет:

выложите весь код

Обрезал все лишнее , сделал запуск Serial.write(...)  и serial.Read(...)  через флаг с таймера- и все заработало!