Contiki:广播整数数组

标签 c arrays embedded contiki

我想使用 Contiki OS 中的广播函数来广播整数数组。然而,当给出整数数组作为输入时, packetbuf_copyfrom() 函数似乎对我不起作用。当通过 Cooja 的“ radio 消息工具”监控消息时,数据包似乎是空的。

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 文件。

我的错误可能在哪里?

最佳答案

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

将该函数调用为:

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

关于Contiki:广播整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33608485/

相关文章:

linux - NXP i.MX6 上的嵌入式 Electron

c - getch() 的文件描述符

c - 在其他文件中的结构/数组上使用 malloc

c - 带有小框 0 和 1 的 ubuntu 终端上的输出是什么?

arrays - MongoDB:使用 2 个嵌套数组更新文档中的平均值

c - 是write系统调用减少内存写周期如何处理

c++ - cygwin下如何改用g++ mingw工具链

Java从多个数组中删除重复项

java - 处理 boolean 数组的 int 输入时遇到问题

c - STM8 ASM 安全执行 WFE