在從機(jī)Peripheral例程上直接編寫(xiě)自己的應(yīng)用程序,現(xiàn)在需要人為控制藍(lán)牙從機(jī)的開(kāi)啟和關(guān)閉。
在按鍵按下后,開(kāi)啟藍(lán)牙從機(jī)功能,一段時(shí)間后,轉(zhuǎn)入待機(jī)前,主動(dòng)關(guān)閉藍(lán)牙。
不知道怎樣處理更為合適,能提供下操作方法嗎?
在從機(jī)Peripheral例程上直接編寫(xiě)自己的應(yīng)用程序,現(xiàn)在需要人為控制藍(lán)牙從機(jī)的開(kāi)啟和關(guān)閉。
在按鍵按下后,開(kāi)啟藍(lán)牙從機(jī)功能,一段時(shí)間后,轉(zhuǎn)入待機(jī)前,主動(dòng)關(guān)閉藍(lán)牙。
不知道怎樣處理更為合適,能提供下操作方法嗎?
在需要關(guān)閉藍(lán)牙功能的時(shí)候確保先斷開(kāi)連接,再關(guān)閉廣播,等到日志waiting for advertising就是關(guān)閉廣播了。
//關(guān)閉廣播
initial_advertising_enable = FALSE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);
在打印日志?waiting for advertising 的地方可以得知廣播關(guān)閉成功。
//打開(kāi)廣播
initial_advertising_enable = TRUE;
GAPRole_SetParameter(GAPROLE_ADVERT_ENABLED, sizeof(uint8_t), &initial_advertising_enable);
在哪里可以得到廣播打開(kāi)成功,現(xiàn)在我是在Peripheral_ProcessGAPMsg函數(shù)中打印Receive scan req from時(shí),就認(rèn)為廣播打開(kāi)成功,可是在手機(jī)沒(méi)有打開(kāi)藍(lán)牙時(shí),好像不會(huì)進(jìn)入這個(gè)函數(shù),這樣就有可能廣播成功打開(kāi)了,但無(wú)法確定。
這個(gè)廣播打開(kāi)成功在哪里獲得?
打印?PRINT("Advertising..\n"); 表示藍(lán)牙斷開(kāi)
打印 PRINT("Connected..\n"); 表示藍(lán)牙已連接
在以上的位置進(jìn)行藍(lán)牙連接的狀態(tài)提取,是否能保證是真實(shí)是藍(lán)牙連接狀態(tài)?
能夠保證真實(shí)的藍(lán)牙狀態(tài)? ? ? ? 藍(lán)牙斷開(kāi)參考:PRINT("Disconnected.. Reason:%x\n", pEvent->linkTerminate.reason);