Nordic nRF52 BLE firmware programming tutorial
開始使用Nordic nRF52系列晶片,弄清楚如何開發這個平台的firmware,也有數周了。當然Nordic官網有提供許多的文件,包括開發板的手冊,nRFSDK的文件,softDevice的文件,晶片SoC的規格書,還有開發者論檀。其實文件數量多的驚人! 但到現在我個人覺得最適合給入門者看的文件是: 1. ble-advertising-a-beginners-tutorial 2. ble-services-a-beginners-tutorial 3. ble-characteristics-a-beginners-tutorial 這3篇文章在2015,2016年間寫的,後來也有幾度小修改,目前大概維持在nRFSDK 15.0.0,可現在2020/5, Nordic nRFSDK已經出到16.0.0了。 個人看文件的習㥜是從前往後看,結果在下載範例程式後,一編譯就出現許多錯誤訊息,試著去解,發現根本解不完。後來想想,文章裡說範例程式是由examples/ble_peripherial/ble_app_template修改簡化而來,那麼同樣由nRFSDK 16.0.0裡的這個ble_app_template範例程式複製一個出來再改成其他名字,當然也是可以正常編譯的。然後試著把文章的範例裡的main.c複製過去取代原本的main.c,結果可以正常編譯了!這樣就可以往下繼續閱讀和試著依文件改程式看BLE的行為如何變化了。結果一路順利看到文章結束。沒想到文章後的留言也很有看頭! 有人抱怨範例程式不能編譯,但也有人說可以解,而解法就和我想的一樣!所以其實文章真的不要只從前往後看,這種貼文,因為常有更新,也許先看看後文或者前後都翻閱一下,才不會浪費了許多時間。 除了這個版本問題外,這幾篇真得寫得不錯,是很好的入門文件。 以下筆記幾個重點: --------------------------------------------------- 第1篇 廣播 (1) 範例程式如前文所述,由最新SDK的ble_app_template專案複製,再蓋上範例程式的main.c就可以。 (2) 設備名稱由 #define DEVICE_NAME 定義 (3) BT ADDRESS可以在gap_para...