2

struct組み込みシステムに 3 つの 16 ビット値があります。

struct {
    uint16_t x;
    uint16_t y;
    uint16_t z;
};

struct、同じハードウェア上で同じソフトウェアを実行している別のシステムに送信されます。送信は、一連の 8 つの 8 ビット値 ( send_data(uint8_t *data)) を送信することによって行われます。

私の考えはsend_data、構造体のアドレスを与えることです。最後の 2 バイトはガベージと見なされます。これは機能しますか?安全ですか?

4

2 に答える 2

1
  1. これは機能しますか?- はい (send_data は構造体のアドレスです。)

  2. 安全ですか?運用上はありますが、テストではありません。

ゴミを送らないことをお勧めします。必要に応じて指定されたデータsend_data()(2 バイト) をパディングし、エクストラを何か (0 など) に初期化します。これにより、デバッグが容易になり、一貫した回帰テストが可能になります。

于 2013-07-13T15:38:58.380 に答える