應用場景,用觀察者角色,掃描特別的遙控器(廣播模式,非連接)。
添加了白名單(MAC為? 11:22:33:44:55:66)
但是沒有掃描到,有搞錯的地方嗎?
首先,需要知道MAC地址的類型,這邊如果使用的是evt里廣播的例程,類型參數(shù)傳0即可,第二個參數(shù)傳數(shù)組首地址
添加白名單時需要注意,添加的mac地址與ble調(diào)試助手上顯示的大小端相反。
???
為什么參數(shù)我寫0不行,寫1才可以。
而且掃描得很慢,按了好多次長按按鍵,才有一次掃描到。
參數(shù)寫零不行,寫1才可以,那你可以打印的時候打印一下addrtype,看看究竟是什么類型,掃描很慢是因為例程里面的掃描時長設置的是3s,你可以將參數(shù)DEFAULT_SCAN_DURATION下調(diào),單位為0.625ms。
?根據(jù)你前面的建議,函數(shù)改成 GAP_SetParamValue( TGAP_FILTER_ADV_REPORTS, FALSE );這個了,整個程序與DEFAULT_SCAN_DURATION?定義無關(guān)。
改回不過慮白名單的,DEFAULT_SCAN_DURATION?這個數(shù)據(jù)改為1.?測試到像是間隔10S收一次信號。
你屏蔽了這條設置掃描時長的語句,這句話不要屏蔽,你下面加的那句話是設置廣播的,掃描傳參應該是2,
你這邊10s掃描一次也是正常的,你沒有設置時間,默認時間是10.24s。
快速掃描可以實現(xiàn)了。
現(xiàn)在發(fā)現(xiàn)另一個問題,就是遙控器廣播的信息,用573打印出來的和Nrf?Connect測出來的不一致,相差還挺大。
573到收51長度的廣播。
打印數(shù)據(jù):
NRF?CONNECT?截取的數(shù)據(jù):
請問,前兩圖數(shù)據(jù)相差那么大,長度也不一樣,程序?qū)懛▽α藛幔?/p>
首先,廣播包的大小是有規(guī)定的,最大為31個字節(jié),其次根據(jù)實際長度去操作,
測試到收到廣播的數(shù)據(jù)不對,方便確認一下嗎?
打印出的結(jié)果與手機app搜到的廣播結(jié)果一致。
確認一下,你的打印是否在這個事件中去打印的。
原來是事件沒搞對,現(xiàn)在可以了,謝謝