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