o2o網(wǎng)站做推廣公司小視頻關(guān)鍵詞匯總
一、預(yù)備知識:
- WB系列是雙核單片機(jī),用戶寫M4,無線協(xié)議棧使用M0
- 新買到手的單片機(jī),需要自己刷入使用的無線協(xié)議棧
- 刷入無線協(xié)議棧的途徑是通過一個叫FUS的東東,類似于bootloader,這個FUS新買的芯片通常已經(jīng)刷好,但版本不一定是最新的(如果沒有需要自己刷入)
- 刷入FUS和無線協(xié)議棧需要使用stm32CubeProgrammer和stlink(這種方式最方便)
二、準(zhǔn)備工具:
(其他可行工具亦可)
- stm32CubeMX
- stm32CubeProgrammer
- stlink一個
- 一個手機(jī)端/PC端的BLE調(diào)試助手,通常應(yīng)用商店就有
三、FUS和無線協(xié)議棧更新流程
不要被名字嚇到了,,并不復(fù)雜,這里只寫下幾個注意事項,,,這篇帖子非常詳細(xì):https://shequ.stmicroelectronics.cn/forum.php?mod=viewthread&tid=632638&extra=
注意事項
:
- 無線協(xié)議棧的刷入地址要正確,不同型號單片機(jī)不一樣
- 無線協(xié)議的刷入地址可以從Cube軟件包內(nèi)的SDK文檔中查找,自己的是哪個系列就看哪個,一個參考路徑(在你第一次使用cubeMX新建工程時軟件包會自動下好):C:\Users\Administrator\STM32Cube\Repository\STM32Cube_FW_WB_V1.17.3\Projects\STM32WB_Copro_Wireless_Binaries
-特別注意
,stm32CubeProgrammer刷入?yún)f(xié)議棧時即使勾選了校驗(yàn),即使刷入后可以讀取到FUS信息,并且信息沒有錯誤,依然不保證協(xié)議棧已經(jīng)正確刷入。。。異常說明和解決方式見下文第五章。。。
四、廣播例程測試
cubeMX配置,開啟STM32—WPAN前必須開啟的部分:HSEM、IPCC及中斷、RCC-HSE、RTC及中斷、RF:
- 外部32M晶振是必須的
- CPU2必須配置為32M
- RTC打開內(nèi)部喚醒和中斷
- 這三個沒什么注意的
- 最重要的藍(lán)牙配置,打開就好,其他全默認(rèn)即可,可以看到藍(lán)牙名稱
- 最簡配置如上,生成代碼后注意事項:
- 下載后先仿真確認(rèn)程序可以跑到while里面去
- 不同板子的晶振環(huán)境不同,比如沒有LSE就不要再cubeMX中打開
- 查看有沒有卡死在其他地方,比如RTC初始化里面,如果卡死了參考這篇博客:https://blog.csdn.net/a1058191679/article/details/136152359
- 運(yùn)氣好的話打開BLE調(diào)試助手,現(xiàn)在可以搜索到藍(lán)牙信號了,仍然搜索不到信號參考下章節(jié)。。。
- 下載后先仿真確認(rèn)程序可以跑到while里面去
五、DEBUG輸出調(diào)試
-
如果比較倒霉,參考上面的方法仍然沒有信號,可能是遇到了第三節(jié)中特別注意提到的情況。。??梢允褂幂敵稣{(diào)試測試下,參考文章:https://blog.csdn.net/qq_24312945/article/details/132891223,這個比較靈活,主要的配置如下框選部分,灰色是因?yàn)樾枰渲么诤罂蛇x(USART1或LPUART1):
-
我這里沒有使用串口打印,而是RTT的打印(按需選擇打印方式),,,,如果使用RTT需要修改成自己對應(yīng)的打印函數(shù):
-
如果打印提示類似如下說明需要重新刷入固件,可以多刷幾遍嘗試(stm32CubeProgrammer提示成功不一定就是真的成功),需要注意刷入無線協(xié)議棧后你的程序需要重新刷入
-
廣播正常的打印(包含了連接和斷開):
-
祝各位同學(xué)順利跑通!enjoy~