Contiki:广播整数数组

Contiki: broadcast integer-array

我想使用 Contiki 中的广播函数广播一个整数数组 OS。但是, packetbuf_copyfrom() 函数似乎对我不起作用,当给出一个整数数组作为输入时。当通过 Cooja "Radio Message Tool" 监控消息时,数据包似乎是空的。

This is what it looks like using a char array as parameter and 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 文件。

我的错误可能在哪里?

我不知道 Contiki,但代码看起来不错,只要你正确调用 packetbuf_copyfrom。请注意,该工具尝试将数据包内容解码为 ASCII,因此显示 Hello67890 但整数不是 ASCII,因此显示为 .........

将函数调用为:

int myArray[10]= {1,2,3,4,5,6,7,8,9,0};
packetbuf_copyfrom(myArray, sizeof(myArray));