длинное преобразование C ++ Arduino - PullRequest
0 голосов
/ 01 мая 2020

У меня есть эта ошибка, и я не могу понять это. не могу преобразовать 'String' в 'long int' в назначении. Я хочу отправить все коды RC5 между 0x00 и 0xFF с помощью ИК-светодиода и Arduino. Я использую IRremote Вот мой код:

for(int i = 0;i < 16 ;i++){
       value = i;
        if(i == 10){
          value = "a";
        }
                if(i == 11){
          value =  'b';
        }
                if(i == 12){
          value =  'c';
        }
                if(i == 13){
          value =  'd';
        }
                if(i == 14){
          value =  'e';
        }
                if(i == 15){
          value =  'f';
        }


         for(int j = 0;j < 16 ;j++){
       value2 = j;
        if(j == 10){
          value2 = "a";
        }
                if(j == 11){
          value2 =  'b';
        }
                if(j == 12){
          value2 =  'c';
        }
                if(j == 13){
          value2 =  'd';
        }
                if(j == 14){
          value2 =  'e';
        }
                if(j == 15){
          value2 =  'f';
        }
        valueTotal  = "0x" + value + value2;
        toSend = valueTotal;
        irsend.sendRC5(toSend , 12);
        delay(20);
    }  }   

1 Ответ

0 голосов
/ 01 мая 2020

Если вы используете эту библиотеку https://github.com/z3t0/Arduino-IRremote/blob/master/IRremote.h, sendRC5 принимает длинный аргумент без знака. Похоже, вы либо запутались из-за примеров использования шестнадцатеричных литералов, полагая, что для этого требуется строка, либо для отправки строки в виде нескольких слов.

Предполагая первое, что-то подобное отправляет все коды:

for (int i = 0x0; i <= 0xff ; ++i) {
    irsend.sendRC5(i, 12);
    delay(20);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...