0

こんにちは皆さん、TinyOs の最も古いバージョンで message_t からデータを抽出する方法を知っているかどうかお聞きしたいのですが、TOS_Msg と TOS_MsgPtr がありますが、message_t では方法が見つかりませんでした。テーブルや配列リストなどのデータを格納するための任意のデータ型

typedef nx_struct message_localization{
    nx_uint8_t   NodeId;
    bool       ancre_nature;
    nx_uint8_t   x_coordinate;
    nx_uint8_t   y_coordinate; 
    x_uint8_t   energie_transmited;

 } message_localization_t;
4

1 に答える 1

0

Packetインターフェイスには、必要なコマンドgetPayloadがあります。

command void *getPayload(message_t *msg, uint8_t len);

詳細については、ドキュメントを参照してください。

データ フィールドにアクセスするには、次のようにします。

message_t msg;
message_localization_t *payload =
    (message_localization_t *)call Packet.getPayload(
        &msg, sizeof(message_localization_t));
payload->x_coordinate = x;
payload->y_coordinate = y;
/* and so on */

便宜上、同じコマンドがインターフェイスSendとに含まれていますAMSendPacket構成によってAMSend提供されActiveMessageCます。

于 2015-02-25T18:56:28.420 に答える