我希望使用Contiki中的广播函数来广播一个整数数组。但是,当将整数数组作为输入时,packetbuf_copyfrom()函数似乎不适合我。在Cooja的“无线电消息工具”上监视消息时,数据包似乎是空的。
在尝试完全相同的情况下,使用char数组作为参数和使用这 (只使用整数数组)是它看起来的样子。
根据Contiki文档,该函数需要一个空指针,并调用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使用Contiki2.7在Cooja模拟器中的Z1 Motes文件。
我的错误可能在哪里?
发布于 2015-11-09 13:56:42
我不知道Contiki,但只要您正确调用packetbuf_copyfrom,代码就会很好。只需注意,该工具试图将数据包内容解码为ASCII,因此显示为Hello67890,但整数不是ASCII,因此显示为........。
称该职能为:
int myArray[10]= {1,2,3,4,5,6,7,8,9,0};
packetbuf_copyfrom(myArray, sizeof(myArray));https://stackoverflow.com/questions/33608485
复制相似问题