前陣子上淘寶買了CC2640開始學習BLE開發,賣家提供了許多文件,參考了他的快速入門文件依照他的說明一步一步的設定開發環境後,就直接拿了賣家提供的範例程式下載到板子上執行,運行上沒啥太大問題,想說賣家提供的範例一次提供太多功能,想要看能否再精簡些,就拿了TI提供的範例下載到板子上,結果卻發現怎麼每次連上線後過沒多久就斷線,試了好久直到在初始化的時後加入了下面兩行後連線才能穩定。原因可能出在晶振問題,造成CC26xx睡眠後無法準時地在下一次通信上的封包進來前起來去處理,因而造成斷線。
// Set device's Sleep Clock Accuracy
HCI_EXT_SetSCACmd(80);
不過回頭去檢查賣家提供的範例程式中HCI_EXT_SetSCACmd是被註記掉的,所以很納悶為啥就不會斷線?真怪!