标签:contiki
我用的一个很简单的收发程序,就是节点2给节点1循环发packet
一、cooja下仿真,两个节点不能正常交互,input函数不能正常触发,cc2420也没有触发;打印节点信息,突然发现节点2没有发beacon。尝试了好几次,发现是节点2的interval有问题。测试rand()函数。发现contiki有封装好的random.c,可以直接使用。
二、节点2发100个packet,节点1竟然收到322个。查看打印信息,节点2每发送一次,节点1收到2-3次。
再次打印信息,上层发packet到48竟然停止了,底层重复调send_data,怀疑是ack检测有问题,导致不停地退避重新发送,检查程序,发现没有检测到ack的话忘了return。。。。
节点收包还是有问题,将每个packet编号,打印信息发现每个packet收到三次左右,后发现是csma重传导致,检查程序,发现pmac向上层返回状态字时逻辑错误。。。。修改后收发正常。
本文出自 “误终身” 博客,转载请与作者联系!
标签:contiki
原文地址:http://10414498.blog.51cto.com/10404498/1722853