如何访问和读取message_t数据tinyos

时间:2015-02-22 17:45:43

标签: sensor tinyos

你好我想问你是否知道从message_t中提取数据的方法 在最古老的TinyOs版本中有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;

1 个答案:

答案 0 :(得分:0)

Packet接口有一个命令getPayload,它确实需要你:

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

有关详细信息,请参阅the documentation

要访问数据字段,您可以执行以下操作:

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 */

同样的命令是为方便起见包含在接口SendAMSend中。 PacketAMSendActiveMessageC配置提供。