Объединение символа и строки в Arduino - PullRequest
1 голос
/ 08 апреля 2019

Я играю с платой Arduino и предоставленными образцами. Попытка получить сообщение, которое я получил, для отображения на ЖК-дисплее. Я изо всех сил пытаюсь выяснить, как работать с некоторыми предварительно созданными кодами.

Я получаю сообщение об ошибке: неверное преобразование из const unsigned char * в const char *

Я попытался изменить тип параметра payload, но он нарушает другие ссылки на MessageCallback.

Определение Screen.print () в документации к плате Arduino: int print (unsigned int line, const char s, bool wrap)

Код:

static int  MessageCallback(const unsigned char *payload)
{
int result = 200;
const char screenMsg[100]; 
strcpy(screenMsg,"Set Temp: ");
strcat(screenMsg,payload);

Screen.print(1, screenMsg, true);

return result;
}

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Аргументы Strcat (char *, const char *). Вы можете привести "полезную нагрузку" к char*, выполнив "strcat(screenMsg, (char*)payload);". Читайте Strcat два неподписанных символа в C .

0 голосов
/ 08 апреля 2019

Если вы просто измените значение на char screenMsg[100];, оно должно работать.

Функция печати не изменит строку, которую вы ей предоставляете, это все, что

const char s

означает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...