Part Number:LP-EM-CC2340R5Other Parts Discussed in Thread: CC2340R5
您好. 我目前使用 硬件為官方開發板 LP-EM-CC2340R5
SDK 版本 : 7_20_01_10
範例專案 : basic_ble
問題描述:
CC2340R5 扮演 Peripheral , 手機 APP 執行 nRF Connect。 已建立連線. 但沒多久. APP就顯示已斷線.
部分畫面如下圖所示。(請留意下方的藍色字體)
看起來, 不知甚麼原因 CC2340R5 已主動斷線了,但問題是…..沒有任何 "錯誤事件" 或 "離線事件" 觸發產生。
所以.CC2340R5 端 仍然一直在執行 自行建立連線模式下所對應的迴圈. ( 形同死迴圈了 )
舉個例 . 常態下,當 CENTRAL 端主動結束連線, 會觸發 "BLEAPPUTIL_LINK_TERMINATED_EVENT"
那麼, 若是 CC2340R5 異常而自行斷線. 是否會觸發甚麼事件.或者….我要如何自行手動檢測連線狀態?
我需要這樣的通知,讓我能合法的結束當下的 FUNCTION , 接著執行其他事情。
能給予甚麼建議嗎? 謝謝~~
Galaxy Yue:
您好,
March Yao 说: APP就顯示已斷線.
1.考虑是否超出蓝牙通信距离、(一般来讲不会)
2.考虑连接超时
March Yao 说:若是 CC2340R5 異常而自行斷線. 是否會觸發甚麼事件
主要看一下GATT层会不会返回事件和状态,也可能被中断打断了
主动断联的话 可能不会触发
March Yao 说:我要如何自行手動檢測連線狀態?
https://software-dl.ti.com/lprf/simplelink_cc2640r2_sdk/1.35.00.33/exports/docs/blestack/ble_sw_dev_guide/doxygen/group___peripheral.html
在这个api列表里GAPRole_GetParameter (uint16_t param, void *pValue)
您可以在程序初始化期间注册一个回调函数来处理连接状态的更改事件
,
March Yao:
嗨~ Galaxy:
謝謝回覆. 但我對使用 TI 並非這麼熟練
能否提供一個類似的註冊回調函示範例,讓我參?
或者, 現有的專案,有哪一段可以參考使用? 謝謝!!
,
Galaxy Yue:
// Register the current thread as an ICall dispatcher application// so that the application can send and receive messages.ICall_registerApp(&selfEntity, &syncEvent);注册回调函数类似这种
这个是在
可以借用这种方式
另,我看您对于问题有关于GPIO的进一步方向,我会继续在那个问题下回复您。
,
March Yao:
謝謝你~
,
Galaxy Yue:
不用客气