【发布时间】:2015-11-09 11:50:55
【问题描述】:
我想使用 Contiki OS 中的广播功能广播一个整数数组。但是,当将整数数组作为输入时,packetbuf_copyfrom() 函数似乎对我不起作用。当通过 Cooja 的“无线电消息工具”监控消息时,数据包似乎是空的。
This 是使用 char 数组作为参数时的样子,而 like that 尝试做完全相同的事情时,只是使用整数数组。
根据 Contiki 文档,该函数需要一个 void 指针并调用 memcpy 函数,这对于整数应该不是问题?
int packetbuf_copyfrom(const void *from, uint16_t len)
{
uint16_t l;
packetbuf_clear();
l = len > PACKETBUF_SIZE? PACKETBUF_SIZE: len;
memcpy(packetbufptr, from, l);
buflen = l;
return l;
}
我正在使用
/contiki/examples/rime/example-broadcast.c
使用 contiki 2.7 在 Cooja 模拟器中的 Z1 Motes 上归档。
我的错误可能在哪里?
【问题讨论】:
-
如果你尝试 memcpy(packetbufptr, from, len); 会发生什么? ?只是一个建议,作为检查上一行是否良好的一种方式。