您好,
目前使用兩個CC2530(Z-STACK)對傳(coordinate ,Enddvice), 在coordinate設定一個資料陣列(1232 bytes),切每個封包80 Bytes,藉由AF_DataRequest傳輸,在兩個cc2530第一次供電後,進行資料傳輸,發現在第一次zigbee連上後,Enddvice接收的資料前面bytes遺失了. 後來把coordinate切斷供電,Enddvice依然接著電源,再次供電給coordinate,此時發現Enddvice接收的資料是完整的,但只要coordinate與Enddvice同時切斷電源再連線上,Enddvice接收的資料前面bytes都會遺失,想請教您是否可以給些建議,Thank you.
Viki Shi:
1、是coordinate给end device发送数据吗?等end device上电一段时间以后再发数据看看 2、切断end device的供电,coordinate保持不变,再给end device上电看是否正常
TI 诚邀您参加全新设计的产品页面测试,参加测试即可享有 TI 购物 9 折优惠码,点击加入 EP产品页面测试报名,名额有限。感谢您的参与!
user5851352:
回复 Viki Shi:
感謝您的回覆 1. 是coordinate给end device發送數據沒錯 2. end device還是會漏掉數據 a.後來利用uart 在coordinate端查看數據傳輸情況,發現沒有連上end device的時候,coordinate端依然會自己run發送數據程序 b.我推想是coordinate 端問題,有可能在coordinate 與 end device 尚未連上,coordinate 已經在傳數據了,造成兩邊沒有同步傳送/接收數據問題,以至於連上後前面資料就消失了 是否有辦法設定coordinate 和 end device連上線後, coordinate 才開始送數據呢? 再次感謝
ps.目前是以組播方式設置
user5851352:
回复 Viki Shi:
感謝您的回覆
1. 是coordinate给end device發送數據沒錯
2. end device還是會漏掉數據a.後來利用uart 在coordinate端查看數據傳輸情況,發現沒有連上end device的時候,coordinate端依然會自己run發送數據程序
b.我推想是coordinate 端問題,有可能在coordinate 與 end device 尚未連上,coordinate 已經在傳數據了,造成兩邊沒有同步傳送/接收數據問題,以至於連上後前面資料就消失了
是否有辦法設定coordinate 和 end device連上線後, coordinate 才開始送數據呢? 再次感謝ps.目前是以組播方式設置
Viki Shi:
回复 user5851352:
网络里是由多个设备吗?如果要确保数据传输稳定性,建议单播。然后AF_DataRequest的options參數上使能AF_ACK_REQUEST,这样可以收到ACK来确认发送是否成功。
参考:
TI 诚邀您参加全新设计的产品页面测试,参加测试即可享有 TI 购物 9 折优惠码,点击加入 EP产品页面测试报名,名额有限。感谢您的参与!