如何在Contiki OS中打印传入的数据包?

时间:2017-09-21 16:25:07

标签: c contiki

我需要将Contiki OS 2.7上每个传入数据包(数据,路由,ICMP,...)的内容打印到串口进行调试。

我发现packetbuf_dataptr()的函数/core/net/packetbuf.c指向入站数据包的标头。但我不确定这是否是获取字节数的最佳方式,而且我不知道如何使用它?

1 个答案:

答案 0 :(得分:0)

此代码应该有效:

uint16_t i;
uint16_t len = packetbuf_datalen();
for(i = 0; i < len; i++) {
  printf("%02x ", ((uint8_t *)packetbuf_dataptr())[i]);
}

查看examples/sensniff/的IEEE 802.15.4数据包嗅探器应用程序,它只打印出所有收到的帧。如果您愿意,可以将Sensniff与Wireshark集成在PC端运行。