你好我想问你是否知道从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;
答案 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 */
同样的命令是为方便起见包含在接口Send
和AMSend
中。 Packet
和AMSend
由ActiveMessageC
配置提供。