關於NRF52832 一對多NUS數據傳輸問題的補充

上幾篇文章中實現了一主多從及MTU大數據傳輸後,由於上篇一主多從的傳輸還有很大問題,主機再分時的接收數據的時候,總是會對當前連接的設備,接收的數據多,其它的設備接收的少,甚至丟包非常的嚴重,現對次問題再做補充說明,改善接收數據問題。

1、要注意主機接收數據的時候是分時的,所以幾個從機設備以同一個連接間隔連接發送數據,肯定是不行的,這樣就會出現當前連接的設備數據才能被接收到,其它的設備有可能都接收不到。

所以這步最主要的是設置從機的最小連接間隔,幾個從機之間不能設置成同一連接間隔,最好某個數的倍數

2、連續發送的數據包不要過長,我一包數據發送的是244個字節,所以每次就發幾包數據,當然爲了防止丟包,可以每發幾包數據後,主機返回一個應答,告訴從機有沒有丟包

測試結果如下圖

主機連接了3臺從機設備,每次接收4包數據,返回一次應答,接收的數據量約3KB/s,

1,2,3,4爲一臺從設備,61,62,63,64爲一臺從設備,91,92,93,94爲一臺從設備

用串口將接收的數據打印出來,在近距離內(1米內)並沒有出現丟包的現象。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章