我正在尝试使用WiFi发送CAN消息。
该消息由2字节ID(WORD)和8字节数据字段(QWORD)组成。
我必须使用UART将数据包写入WiFi芯片,所以我想将WORD和QWORD转换为字符串,然后使用putsUART发送它。
如何将这些变量转换为字符串?
WiFi数据包的结构:
typedef struct {
WORD id;
QWORD data;
} WiFiTXPacket;
答案 0 :(得分:2)
也许是这样的:
char package[10];
memcpy (&package, &wifiPackage, sizeof (WiFiTXPacket));
putsUART(package, strlen(package)); // i dont know how this function looks like, but for example ...
答案 1 :(得分:1)
printf("id: %hu data: %llu \n", id, data);
答案 2 :(得分:1)
char *package = (char *)&wifiPackage;
putsUART(package, sizeof (WiFiTXPacket));
取决于Gossamer的答案。我想它可能是这样的。 如果使用memcpy函数。并用strlen(packeage)计算。如果有任何零值。可能会导致问题发生!