CH582使用125kbps通訊

我參考了你們的例程BLE5.3 使用1M 2M 500K或者 125Kbps通訊 - debugdabiaoge - 博客園 (cnblogs.com)
修改后打印log 顯示開啟廣播 但手機(jī)使用nRF Connect這個(gè)軟件根本搜索不到藍(lán)牙設(shè)備 請問咋搞

使用安卓手機(jī)多嘗試一下,我這里測試按照博客修改無問題。

1.png


我的庫是1.41的 用安卓手機(jī) 用另一個(gè)582作主機(jī)都搜索不到


PHY為2M的時(shí)候就可以找到


使用手機(jī)測試,可以多找?guī)撞渴謾C(jī)測試看看情況,有的手機(jī)可能無法搜索大全。

使用582作為主機(jī),我們這里測試一下給予回復(fù)。


582主機(jī)想要搜索125kbps的從機(jī) 主機(jī)需要怎么設(shè)置


使用582主機(jī)搜索125kbps設(shè)備需要這樣修改,如圖在主機(jī)初始化代碼中添加紅框中代碼,

emobile_2022-07-29_15-00-09.png

在這邊可以獲取mac:

emobile_2022-07-29_15-00-35.png

如圖:

emobile_2022-07-29_15-03-04.png



按照上面的方法成功掃描到擴(kuò)展廣播并連接上,但出現(xiàn)了一些問題,如下:

  1. 偶爾會出現(xiàn)掃描時(shí)間比較久的情況 主機(jī)的擴(kuò)展廣播掃描間隔為1S 請問從機(jī)的擴(kuò)展廣播間隔可以調(diào)嗎

  2. 連接上之后會出現(xiàn)周期性的斷連狀況 主機(jī)和從機(jī)距離拉到3-5米之后更容易斷連 主機(jī)修改了125K的連接間隔GAP_SetParamValue(TGAP_CONN_EST_CODED_INT_MIN, 20)和?GAP_SetParamValue(TGAP_CONN_EST_CODED_INT_MAX, 80)之后情況有好轉(zhuǎn),同樣請問從機(jī)這邊有沒有類似的125K連接參數(shù)需要修改或者主機(jī)還需要配置什么來提高連接的穩(wěn)定性

  3. 主機(jī)給從機(jī)發(fā)送數(shù)據(jù)也就是使用GATT_WriteCharValue()函數(shù)偶爾會出現(xiàn)blepending的情況 距離越遠(yuǎn)出現(xiàn)的次數(shù)越高 實(shí)際也就在3-5米左右就會出現(xiàn)blepending 同時(shí)會伴隨著斷連的情況出現(xiàn) 請問有沒有改善的方法可以提高發(fā)送數(shù)據(jù)的穩(wěn)定性

??


從機(jī)的默認(rèn)廣播間隔是50ms,如果沒有對相關(guān)代碼的參數(shù)進(jìn)行修改,

GAP_SetParamValue(TGAP_DISC_ADV_INT_MIN, advInt);

GAP_SetParamValue(TGAP_DISC_ADV_INT_MAX, advInt);

遇到掃描較久一般是從機(jī)在那段時(shí)間沒有廣播,可以看看從機(jī)的打印log,另外也可以將主機(jī)的掃描時(shí)長調(diào)短一點(diǎn),如100ms,

使用GATT_WriteCharValue()函數(shù)偶爾會出現(xiàn)blepending的情況,可以使用最新的例程看看有沒有改善,也可能和發(fā)送的間隔和數(shù)據(jù)量有關(guān),

還有斷連的原因又是什么,從你的描述上看,0x08連接超時(shí)的可能性比較大,測試的板子是自己做的還是我們的demo板,使用demo板做測試沒有復(fù)現(xiàn)以上情況。




板子用的是自己做的 大部分情況都是0x08連接超時(shí),請問如果用你們的開發(fā)板正常情況下125k的頻段通訊距離一般多遠(yuǎn)

另外請教一下GAPROLE_PHY_TX_SUPPORTED和GAPROLE_PHY_RX_SUPPORTED這個(gè)參數(shù)ID怎么用 放在主機(jī)還是從機(jī)使用;

GAPRole_UpdatePHY()的第二個(gè)形參是啥意思 怎么用


在1M下通訊距離在100多米,125Kbps下會好一些,這個(gè)和環(huán)境,天線方向,周圍干擾有很大的關(guān)系,

uint8_t? phy_bit_byte =GAP_PHY_BIT_LE_CODED;

GAPRole_SetParameter(GAPROLE_PHY_TX_SUPPORTED, sizeof(uint8_t), &phy_bit_byte);

正常更新phy按照

PRINT("PHY Update %x...\n", GAPRole_UpdatePHY(peripheralConnList.connHandle, 0, GAP_PHY_BIT_LE_CODED,GAP_PHY_BIT_LE_CODED, 0));

就可以。


如果僅僅只想作為125K的廣播 不做從機(jī) 應(yīng)該怎么配置


這樣的話建議在broadcast中去使用,將adv_type = GAP_ADTYPE_EXT_NONCONN_NONSCAN_UNDIRECT;這樣設(shè)置就可以了,

GAPRole_SetParameter(GAPROLE_ADV_EVENT_TYPE,sizeof(uint8_t),&adv_type);

GAP_SetParamValue(TGAP_ADV_SECONDARY_PHY,GAP_PHY_VAL_LE_CODED); //125K

GAP_SetParamValue(TGAP_ADV_PRIMARY_PHY, GAP_PHY_VAL_LE_CODED);//125K



那主機(jī)的配置的呢 想要搜125K僅廣播的設(shè)備和搜125K從機(jī)設(shè)備配置一樣嗎


是的,和原先主機(jī)搜索配置是一樣的。


作為125k從機(jī)的時(shí)候 主機(jī)能夠搜索到從機(jī) 但是讀出來的廣播數(shù)據(jù)是000000 請問從機(jī)的廣播數(shù)據(jù)怎么設(shè)置


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

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