0

WiFi を使用して CAN メッセージを送信しようとしています。

メッセージは、2 バイトの ID (WORD) と 8 バイトのデータ フィールド (QWORD) で構成されます。

UART を使用して WiFi チップにパケットを書き込む必要があるため、WORD と QWORD を文字列に変換し、putsUART を使用して送信します。

これらの変数を文字列に変換するにはどうすればよいですか?

WiFi パケットの構造:

typedef struct {
    WORD id;
    QWORD data;
} WiFiTXPacket;
4

3 に答える 3

2

多分このようなもの:

char package[10];
memcpy (&package, &wifiPackage, sizeof (WiFiTXPacket));

putsUART(package, strlen(package)); // i dont know how this function looks like, but for example ...
于 2013-03-26T09:31:29.747 に答える
1
printf("id: %hu  data: %llu \n", id, data); 
于 2013-03-26T09:30:08.517 に答える
1
char *package = (char *)&wifiPackage;
putsUART(package, sizeof (WiFiTXPacket)); 

ゴッサマーの答えに依存します。こんなこともあり得ると思います。memcpy 関数を使用する場合。strlen(package)で計算します。ゼロ値がある場合。問題が発生する可能性があります。

于 2013-03-26T10:33:48.750 に答える