一个关于TinyOS的问题
12-16
写了一个简单的send/receive的程序,设定一个source node和一个destination node,从source node发送一个package,用broadcast,每个收到的sensor node先判断自己是不是destination node,如果不是,就forward这个package,如果是destination node就把package里面的type改掉,交换source 和destination address,再把这个package发回去,同样是broadcast。
我现在遇到的问题是,source node假设发了40个package,destination node全部能收到,而且全发回了改过的package,可是source node只能接到一部分返回来的package,比例和node的个数有关。如果是broadcast的时候有drop掉的package,为啥只drop发回来的呢?
实在是想不出为啥,大家给点意见把
我现在遇到的问题是,source node假设发了40个package,destination node全部能收到,而且全发回了改过的package,可是source node只能接到一部分返回来的package,比例和node的个数有关。如果是broadcast的时候有drop掉的package,为啥只drop发回来的呢?
实在是想不出为啥,大家给点意见把
你有没有把bcast包里的seqno更新?如果收到seqno相同的包,会当作同一个包扔掉。
我在source node的程序里面专门有个变量是用来记录seqno的,就是接受到一个package就记录它的seqno,再收到比较seqno,如果小于等于变量记录的,就drop,不处理,如果大于才处理
bcast库处理seqno的地方有个bug,最好把 bseqno++; 那句改成 bseqno = proposed
相关文章:
- 请问在哪可以下载到TinyOS的源代码?(05-08)
- 有tinyos的教程吗(05-08)
射频专业培训教程推荐