Помогите с разбором данных с uart

Тема в разделе "Arduino & Shields", создана пользователем alexzlo, 3 мар 2015.

  1. alexzlo

    alexzlo Нерд

    Приветсивую. Прошу помощи вывести значения в порт, которые я снимаю с блока управления двигателем.
    Вот данные которые есть. Описание протокола, правда на английском:
    Далее чем
    Код (Text):
    if(Serial1.available()>1){
    char data_temp = Serail1.read();
    }
     
    ни чего в голову не лезет. Как вообще этот массив разбирать? Данные шлются сразу после включения зажигания.
    Еще нужно с Serial1 сделать отправку данных на Serial2, пробую так
    Код (Text):
    void loop ()
    {
     
      while ( Serial2.available () )
      {
        Serial2.write ( Serial1.read () );
      }
     
    }
    но не выходит. Данные идут, но видимо не в том формате. Все строится на Arduino Mega
    Есть пример на C++, если кто желает могу скинуть в лс. Могу отблагодарить $
     
    Последнее редактирование: 3 мар 2015
  2. ANV

    ANV Гуру

    А если Serial1.write ( Serial2.read () ); ?
     
  3. alexzlo

    alexzlo Нерд

    так это наоборот выходит тогда в Serial1 пишем то что прочитал Serial2. Или я ошибаюсь?
     
  4. ANV

    ANV Гуру

    Если надо из Serial2 переправить в Serial1, то надо как я написал, читаем код: если в Serial2 что-то есть, то в Serial1 пишем что взяли в Serial2
     
  5. alexzlo

    alexzlo Нерд

    Так) Можно с начало? ) У меня данные приходят на Serial, я их пишу в буффер, что бы потом отправить на Serial1, на Serial2 у меня данные так же должны быть отправленны для второго устройства. Фокус в том что второе устройство само разбирает данные, поэтому проходя через ардуину они не должны видоизменяться.

    Код (Text):
    if(Serial.available()>0){

    inbyte = Serial.Read();
    data_temp[i] = inbyte;

    while(1){
    Serial2.write(inbyte);
    }
    Serial1.write(data_temp);
    }