1. 程式人生 > >【CC2541】CC2541藍芽廣播關閉不成功總結

【CC2541】CC2541藍芽廣播關閉不成功總結

最近在進行 CC2541藍芽廣播關閉操作會出現關閉廣播不成功現象,主要操作需要注意兩個問題:

  • 在進行開關操作的API函式操作的時候,每次進行開關操作在系統內部實際上是按照任務的方式處理的,每一個任務處理都需要時間處理,所以程式碼中切記不要出現【執行完關操作後,又立馬執行開操作】或者【執行完開操作後,又立馬執行操作】

  • 在我的實際產品設計,需要做低功耗的設計,其中對廣播的做低功耗的處理,有兩種方式可以選擇(【A】:直接關閉廣播(這種方式是在廣播處理section中可以把功耗做到最省,本人也是因為通過這種方式出現廣播關閉不成功的現象)、【B】:降低廣播的頻率(這種方式其實也可以做到很好的低功耗效果,但是會出現週期性功耗波動)),其中【A

    】方式中,一般情況廣播關閉操作會成功,但是會存在一種很特殊情況,在同一時刻(同一時刻很重要)開啟多個藍芽裝置廣播時,一段時間裝置不使用進入睡眠或者低功耗狀態關閉裝置的廣播時,會出現部分裝置關閉不成功的現象(基本該現象可重複性出現)。導致這種問題是由於藍芽廣播通道通訊阻塞(藍芽裝置在同一通道同一時刻進行廣播)。