C 将字转换为字符串
我正在尝试使用WiFi发送CAN消息 该消息由一个2字节的ID(WORD)和一个8字节的数据字段(QWORD)组成 我必须使用UART将数据包写入WiFi芯片,因此我想将单词和QWORD转换为字符串,然后使用putsUART发送数据包 如何将这些变量转换为字符串 WiFi数据包的结构:C 将字转换为字符串,c,string,C,String,我正在尝试使用WiFi发送CAN消息 该消息由一个2字节的ID(WORD)和一个8字节的数据字段(QWORD)组成 我必须使用UART将数据包写入WiFi芯片,因此我想将单词和QWORD转换为字符串,然后使用putsUART发送数据包 如何将这些变量转换为字符串 WiFi数据包的结构: typedef struct { WORD id; QWORD data; } WiFiTXPacket; 也许是这样的: char package[10]; memcpy (&pack
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 ...
也许是这样的:
char package[10];
memcpy (&package, &wifiPackage, sizeof (WiFiTXPacket));
putsUART(package, strlen(package)); // i dont know how this function looks like, but for example ...
取决于戈萨默的回答。我想可能是这样。
如果使用memcpy函数。并用strlen(packeage)进行计算。如果有零值。可能导致问题发生
取决于戈萨默的回答。我想可能是这样。
如果使用memcpy函数。并用strlen(packeage)进行计算。如果有零值。可能导致问题发生 文本与任何事情都有什么关系?CAN指的是控制器局域网(automotive wire protocol)?顺便说一句,要将几个数字转换成一个字符串(WORD和QWORD只是数字),您可以使用
printf
。使用scanf
进行转换。但这里有点可疑。控制器局域网,是的。我需要一根线把它输入WiFi芯片。你为什么需要一根线?再说一遍,文本与任何事情都有什么关系?WiFi(以太网)不是文本协议。我仍然不明白字符串是什么意思。它是数据包中数字的ASCII
表示还是来自数据包的字节流?文本与任何东西有什么关系?CAN指的是控制器局域网(automotive wire protocol)?顺便说一句,要将几个数字转换成一个字符串(WORD和QWORD只是数字),您可以使用printf
。使用scanf
进行转换。但这里有点可疑。控制器局域网,是的。我需要一根线把它输入WiFi芯片。你为什么需要一根线?再说一遍,文本与任何事情都有什么关系?WiFi(以太网)不是文本协议。我仍然不明白字符串是什么意思。它是数据包中数字的ASCII
表示还是来自数据包的字节流?
char *package = (char *)&wifiPackage;
putsUART(package, sizeof (WiFiTXPacket));