С см 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? Благодаря!
'MSGpack' должны быть _visible_ везде, где вы используете его. Если он определен в другой единицы перевода, вам нужно будет предоставить декларацию 'extern', чтобы компилятор знал, что она существует. если он находится в пространстве имен, вам, скорее всего, потребуется предоставить полное имя (т. е. имя_памят :: MSGpack). –