我把從機(jī)設(shè)置成只有白名單可以掃描和連接,然后沒有添加任何設(shè)備進(jìn)白名單中,但是我手機(jī)還是可以正常搜到設(shè)備和連接。 我這樣子設(shè)置對么?
如果你的目的是添加白名單,讓某些主機(jī)可以掃描連接,那么除了以上設(shè)置,還需添加白名單設(shè)備mac地址,調(diào)用LL_AddWhiteListDevice
傳入兩個參數(shù),第一個地址類型,第二個MAC地址數(shù)組首地址。
像你上面的操作,白名單里沒有設(shè)備,你的手機(jī)也是應(yīng)該不能掃描到的,那么如果能掃描到,就下載程序的時候清空dataflash,手機(jī)上如果配對過,就取消配后看看是否仍可以掃描連接,或者找個別的手機(jī)掃描看看。
手機(jī)的mac地址是會變得,如果想要將手機(jī)加入白名單,可以這么做
調(diào)用如圖函數(shù),綁定之后,會將不變的身份地址加入白名單。
關(guān)于白名單的使用,還可看以下鏈接:https://www.cnblogs.com/debugdabiaoge/p/15817418.html
換了手機(jī)之后確實(shí)搜索不到了,我現(xiàn)在想做成我上電的時候從機(jī)使用白名單模式,我按了一個按鍵之后不使用白名單模式,可是我這么設(shè)置之后,手機(jī)還是搜索不到設(shè)備,是不能這么設(shè)置嗎。我斷點(diǎn)打到這里是可以運(yùn)行到這里的。
CH579 CH573 CH582 藍(lán)牙從機(jī)設(shè)置白名單 - debugdabiaoge - 博客園 (cnblogs.com)
你可以禁用白名單,然后重新開關(guān)一下廣播試試
弱弱的問一下 開關(guān)廣播的API是哪個
uint8_t? initial_advertising_enable = TRUE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);
uint8_t? initial_advertising_enable = FALSE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);
還有咨詢一下,我現(xiàn)在有個方案是一個主機(jī)連接三個從機(jī),現(xiàn)在我是主機(jī)和從機(jī)上電的時候都是白名單模式,主機(jī)和從機(jī)分別按下一個按鍵之后禁用白名單模式并開始搜索和廣播,如果搜索到設(shè)備之后就將對方的mac地址分別保存到flash里面,下次上電的時候從flash里面提取mac地址添加到白名單中,然后在開啟白名單模式,這樣子可以確保主機(jī)只能連接固定的那三個設(shè)備。
想問下使用下面這個API也可以實(shí)現(xiàn)同樣的結(jié)果嗎。
即使你不使用白名單,知道對方的地址和地址類型,可以直接通過地址發(fā)起連接,也能實(shí)現(xiàn)。
現(xiàn)在主從連接就是通過mac地址發(fā)起連接的。
不知道對方的地址和類型。產(chǎn)品是一個機(jī)器上含有一個主機(jī)+三個從機(jī),主機(jī)和從機(jī)確保只能放在同一個機(jī)器上的可以相互連接。如果通過寫固定MAC地址,我怕到時候會造成主機(jī)連接其他機(jī)器上的三個從機(jī)去了,或者這個機(jī)器上的從機(jī)連接到別機(jī)器上的主機(jī)去了。因?yàn)橐粋€空間內(nèi)可能存在多個機(jī)器。
如果想在代碼上簡單,建議是給固定的地址,一個主機(jī)連接三個從機(jī)每臺機(jī)器都這樣,保證每個從機(jī)的mac地址都不同,這樣的話就存在一個問題,你的從機(jī)需要編號識別,不然就會出現(xiàn)你說的,連接到別的機(jī)器的從機(jī)上去了。
如果想要實(shí)現(xiàn)你說的,就需要自己代碼上加處理,比說說兩個板子靠的很近的時候,根據(jù)rssi值去將掃描到的很近的設(shè)備的mac地址記錄下來保存下來。
OKOK 我先試試看哈
我現(xiàn)在按鍵按下后增加開關(guān)廣播功能,現(xiàn)在只要手不松就能搜索到,手松開就有的時候搜索不到(大概率),多試幾次按鍵后就可以松開后也可以一直搜索到,不知道是什么原因。