Разделяем строку результата полученного портом

Тема в разделе "Arduino & Shields", создана пользователем KyKyIIIKuH, 1 апр 2014.

  1. KyKyIIIKuH

    KyKyIIIKuH Нуб

    Возможно ли разбить строку с помощью разделителя?
    Вид строки которая отправляется в Arduino 1:0x76896897

    С первым параметром проблем нету, а вот со вторым параметром проблемы т.е второй параметр строки заменяется на цифру.

    Каким образом её можно преобразовать в String?

    Вот так я пробовал:
    Код (Text):
    #include <IRremote.h>
    #include <string.h>

    IRsend irsend;

    char buffer[11];
    int protocol, send_query;

    void setup()
    {
      Serial.begin(9600); //установка порта на скорость 9600 бит/сек
    }

    void loop()
    {

      while (Serial.available() == 0);

      String val_string = Serial.readString();
      Serial.println( val_string );
      val_string.toCharArray(buffer,11);
      protocol=atoi(strtok(buffer,":"));
      send_query=atoi(strtok(NULL,":"));
     
      if (protocol == 1)
      {
        Serial.println( protocol );
        delay(50);
        Serial.println( send_query );
      }
    }
     
     
  2. KyKyIIIKuH

    KyKyIIIKuH Нуб

    Крыша едет не спеша, send_query был назначен на int параметр, заменил на String все заработало.