Чтение данных APS (SMART)

Нет ответов
9ser
Offline
Зарегистрирован: 18.11.2012

Доброго времени суток.

Задача:

Нужно прочитать данные с бесперебойника APS по COM-порту и передать по RS485

Использую преобразователь UART -> RS232 (ST232)

Тут описание протакола обмена http://saprjkin.narod.ru/smart_ups.htm

Вроде ничего сложного, но не могу получить ответ от APS

Пока застрял на чтении данных.

Вот

void setup()
{
Serial.begin(9600);
Serial1.begin(2400);
}

void loop()
{
char s;
char s1;
delay(5000);
Serial1.write(89);
Serial1.flush();

if (Serial1.available() > 0) {
  s1 = Serial1.read();
  Serial1.flush();
  Serial.print (s1);

if (Serial.available() > 0){
  s = Serial.read();
  Serial1.write (s);
  Serial1.flush();
}

  
}

}

Послушал порт при общении с ПК, вроде все понятно.

Проверил Serial1 отправляя туда посылки с терминала - работает?

Где засада не пойму.