我正在玩 Arduino 板和提供的示例。试图让我收到的消息显示在 LCD 上。我正在努力弄清楚如何使用一些预构建的代码。
我收到错误:从“const unsigned char*”到“const char*”的无效转换
我尝试修改 payload
参数类型,但它破坏了对 MessageCallback 的其他引用。
arduino 开发板文档中的 Screen.print() 定义: 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;
}
最佳答案
Strcat 的参数是(char *, const char *)
。您可以通过执行“strcat(screenMsg, (char*)payload);
”将“payload”转换为 char*
。阅读Strcat two unsigned char in C .
关于c++ - 在 Arduino 中连接字符和字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55564174/