Serial порт

Тема в разделе "Arduino & Shields", создана пользователем Mr_Integral, 4 фев 2017.

Метки:
  1. Mr_Integral

    Mr_Integral Нуб

    Всем привет) У меня проблема с передачей данных по Serial с компьютера на arduino. Для Windows написана программа на Qt которая отправляет строку на arduino следующим образом
    Код (C++):
    serial->write(color.toStdString().c_str());
    Формат строки следующий - три цифры, буква, цифры, буква и т.д., например 101r23g3b145!, где "!" - это признак окончания сообщения. При приёме на arduino
    Код (C++):

    char check;
    if (Serial.available()>0)
      {
        while (true)
          {
            check = Serial.read();
            Serial.println(check); //эта строчка просто для отладки
              if (check != '!')
               {
                 buffer[i] = check;
                 i++;
               }
            else
              {
                buffer[i] = check;
                i++;
                break;
              }
        }
    }
    после принятия первой цифры, откуда то появляются буквы "я"
    [​IMG]
    Подскажите, как это исправить
     
    Последнее редактирование: 4 фев 2017
  2. mcureenab

    mcureenab Гуру

    Функцией Serial.begin() установите согласованную скорость порта.
     
  3. sslobodyan

    sslobodyan Гик

    Я не спец в Qt, но так, на всякий случай - в какой кодировке Qt шлет строки?