2014-11-29 2 views
0

С см this question:Ардуин объявить массив байт без знака

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

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

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

unsigned byte MSGpack[187] = { 0x00 };

предлагающего ошибку в Arduino, заявив

error: 'MSGpack' was not declared in this scope

In function 'void injectByte(float, int)':

error: 'MSGpack' was not declared in this scope

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

+0

'MSGpack' должны быть _visible_ везде, где вы используете его. Если он определен в другой единицы перевода, вам нужно будет предоставить декларацию 'extern', чтобы компилятор знал, что она существует. если он находится в пространстве имен, вам, скорее всего, потребуется предоставить полное имя (т. е. имя_памят :: MSGpack). –

ответ

0

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

uint8_t MSGpack[187] = {0}; 
Смежные вопросы