nRF51822のアプリケーションノートnAN36を読んでいる。
この中では、LED Buttonというアプリを例に説明しようとしている。
lbs、という名前がときどき出てくるのでプロファイルの1つか何かかと思ったら、Led Button Sampleなのかな?
ソースは以下にある。
https://github.com/NordicSemiconductor/nrf51-ble-app-lbs
4 LED Button application example
4.1 Code overview
4.1.1 Code separation
LED Buttonアプリは、他のSDKサンプルと同じ構成になっている。
- main.c
- ble_lbs.c, h
main.cはアプリ的なものを実装し、それ以外はservice的なものを実装している。
I/Oの振る舞いはアプリ側。
nRF51822で動くアプリは、次の部品に分かれる。
- Hardware registers
- nrf51.hに定義してあるレジスタにnrf51_bitfields.hで定義してある値を書き込む。
今回のサンプルには、この部分は無い。 - SDK modules
- レジスタ設定をラップしたマクロを使う。nrf_gpio.hなんかがそう。
- Softdevice functions
- SoftDeviceの設定をする。SoftDevice関係のAPIはsd_で始まる。
BVMCN5102の外部16MHz起動なんかは、よくわからんのでレジスタを直接設定した。
32kHzの方はSoftDeviceの初期設定マクロ(SDK modulesってやつか)でできたので、16MHzもなんか用意されているような気がしなくも無い。
今日はここまで。
ちなみに、全38ページのうち、今は16ページくらい。
動作確認が6ページくらいあるので、半分くらいだな。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。