主機定時向從機發(fā)送數(shù)據(jù)超時

多從機MultiCentral例程下,在接收到從機數(shù)據(jù)(從機發(fā)送數(shù)據(jù)頻率20ms9個字節(jié))后,我會定時(6S)向從機發(fā)送一幀數(shù)據(jù)(6個字節(jié))。發(fā)送幾次之后,就不會再發(fā)送了。經(jīng)過排查得知,發(fā)送數(shù)據(jù)函數(shù)返回0x16事務(wù)掛起,接著又返回0x17上一次事務(wù)超時。想知道這會是什么原因引起的,該如何解決。

image.png





image.png


image.png

在主機與從機連接的例程中,從機會默認給主機發(fā)送0x88的數(shù)據(jù),主機會默認給從機發(fā)送0x5A的數(shù)據(jù)(只發(fā)送一次)。你這里的操作應(yīng)該是主機先接收從機數(shù)據(jù),接收到數(shù)據(jù)后主機再發(fā)送數(shù)據(jù)給從機。

主機端在Receive noti后,調(diào)用TMOS任務(wù)進行發(fā)送的處理。

image.png

image.png

從機端接收主機數(shù)據(jù)也是同理處理。


是的,我就是在接收到從機數(shù)據(jù)后就向從機發(fā)送數(shù)據(jù)。其實就是就是按照例程修改的,只不過例程是發(fā)送一個字節(jié),我需要發(fā)送多個字節(jié)。

只是在發(fā)送幾次之后,就不再發(fā)送了。

打印GATT_WriteLongCharValue的返回值為0x16/0x17。

麻煩幫忙看一下??!


image.png



image.png




1、建議在例程上修改,默認的程序是發(fā)送1個字節(jié),你也先嘗試1個字節(jié)驗證是否出問題,然后逐次增加;

2、增加大連接間隔

BLE廣播間隔和連接間隔(CH573) - SweetTea_lllpc - 博客園 (cnblogs.com)

3、增大MTU

http://m.findthetime.net/bbs/thread-89965-1.html

?



根據(jù)您提供的思路,我直接使用MultiCentral例程進行測試。由于從機是一個透傳模組,所以在GATT服務(wù)部分做了一些修改。但是還是一樣的現(xiàn)象,發(fā)送幾次之后,也是不再繼續(xù)發(fā)送,打印GATT_WriteLongCharValue的返回值為0x16/0x17。

麻煩幫我看一下,該如何解決。


1663227239867891.png


image.png


image.png


image.png


image.png












目前使用的是什么版本的庫,建議使用最新版的庫進行測試。


我看打印的顯示是V1.3.0版本的,最新的版本是1.5的吧,8.31發(fā)布的是吧。


不太清楚你這邊使用的是哪款芯片,可以對應(yīng)下載以下鏈接的開發(fā)包,可以替換lib庫,也可在新例程上進行修改。

http://m.findthetime.net/downloads/CH573EVT_ZIP.html

http://m.findthetime.net/downloads/CH583EVT_ZIP.html

http://m.findthetime.net/downloads/CH579EVT_ZIP.html


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频