Arduino — используйте print(.., DEC) для сохранения в переменную

Я использую:

Serial.print(rawCodes[i - 1], DEC);

для печати в последовательный монитор, но как мне сохранить (rawCodes[i - 1], DEC) для сохранения в переменную?

, 👍-1

Обсуждение

Строковое или целочисленное значение rawCodes[i-1]? Как объявляется rawCodes?, @Maximilian Gerhardt

@MaximilianGerhardt rawCodes — это беззнаковое целое число, @Dortík

rawCodes — это *уже* переменная. Чего вы на самом деле хотите *достичь*?, @Majenko

@Majenko Я хочу получить rawCodes[i - 1] в переменной int, @Dortík

***НЕТ!!!*** Это то, что вы *думаете*, что хотите *сделать*. А не *то, чего вы хотите* получить в конечном итоге., @Majenko


1 ответ


Лучший ответ:

4

Предполагая, что ваш код взят отсюда: https://www.alanzucconi.com/2015/08/19/how-to-hack-any-ir-remote-controller/

Поскольку rawCodes объявлен как

unsigned int rawCodes[35];

То есть, это массив из 35 элементов unsigned int, мы можем получить доступ к одному элементу unsigned int по некоторому индексу и сохранить его в переменной, например

unsigned int myVariable = rawCodes[i - 1]; //предполагая, что i — некоторая целочисленная переменная
                                           //и существует в этой области

Если необходимо преобразование в объект String, его можно передать в конструктор класса String как

String myString = String(myVariable);

Это отвечает на ваш синтаксический вопрос о том, как сохранить этот элемент в переменной; однако маловероятно, что именно в этом заключается ваша реальная проблема. Мы не сможем определить это, пока вы не скажете нам, что именно вам нужно.

Ссылки:

  • Учебник по массивам в C
,