Iam使用telosB微粒實現。 我所遇到的用於確認數據包的方式之一,TinyOS中的分組確認
task void send() {
call PacketAcknowledgements.requestAck(&myMsg);
if(call AMSend.send(1, &myMsg, 0) != SUCCESS) {
post send();
}
}
event void AMSend.sendDone(message_t *msg, error_t error) {
if(call PacketAcknowledgements.wasAcked(msg))
// do something if packet was acked
else
// do something else if packet was not acked (possibly resend)
}
其實我的疑問是,接收微塵應該有應答數據包,或者它應該有PacketAcknowledgements接口的應用,以發送的ACK。 這種類型的確認是如何工作的?
我已經檢查了我自己的確認類型,它的工作方式類似於在收到包確認數據包之後,如果源mote在某個時間幀內沒有收到正確的確認,然後重新發送數據包。
那麼哪個更好的方法呢?
請指導&感謝,