Arduino объявляет байтовый массив без знака

0

Со ссылкой на этот вопрос:

Я решаю проблему, выполнив только часть решения (шаги 2 - 4). Все работало нормально, и сегодня контрольная сумма снова провалилась (сообщение не подтверждено сервером).

Поэтому я предполагаю, что я не объявлял массив без знака (как на шаге 1) и заставлял Arduino случайным образом выбирать использование байт-байта с подписью/без знака.

Однако объявление беззнакового байтового массива

беззнаковый байт MSGpack [187] = {0x00};

вызывает ошибку в Arduino, заявив

Ошибка: "MSGpack" не был объявлен в этой области

В функции 'void injectByte (float, int)':

Ошибка: "MSGpack" не был объявлен в этой области

Как объявить массив байтов без знака в Arduino? Благодарю!

  • 0
    MSGpack должен быть виден везде, где вы его используете. Если он определен в другом модуле перевода, вам нужно предоставить объявление extern чтобы компилятор знал, что он существует. если оно находится в пространстве имен, вам, вероятно, потребуется указать полное имя (например, namespacename :: MSGpack`).
Теги:
arrays

1 ответ

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

Попробуйте uint8_t:

uint8_t MSGpack[187] = {0};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню