Insight SIP社の『マイコン開発キット』でLEDを点滅させよう(後編)

ライセンスを認証しよう

画面から「Activate Your Free License」をクリックすると、以下画面が出てきます。上から順番にご自身の名前・名字・会社名・メールアドレスを入力し、「Yes, I have read and do accept SEGGER’s Privacy Policy」にチェックを入れたあと、「Request License」をクリックします。

f:id:microworm:20190922143236p:plain

クリック後に出てくる「Enter Activation Key」を更にクリックすると、ライセンスキーを入力する画面が出てきます。ご自身のメールを確認すると、SEGGER社からメールが1通届いています。そのメール本文中にある「LICENSE_SES_」から始まるキーをコピーし、「Activation Key」というところに貼り付けて下さい。「Install License」をクリックし、問題がなければ、元の画面に戻ります。

 

いよいよ、動かしていきますよ

さて、実際に動かしてみます。ブレッドボードと開発ボードを接続が正しいことを確認したら、USB-AMiniUSBのケーブル用意して、開発ボードとPCを接続します。接続すると、PCからは「JLink CDC UART Port(COM?) ※一般的なシリアルポート」として認識されます。

f:id:microworm:20190922143502p:plain

では、ビルドの続きをしましょう。再び、SeggerEmbeddedStudioのファイルメニューから「Build」→「Rebuild blinky_pca10040e(もしくはAlt+F7キー押下)を選択します。問題なく作成されると、「Output」枠に「Build Completed」と示されます。

f:id:microworm:20190922143618p:plain

ビルドが完了したら、ファイルメニューから「Debug」→「Go(もしくはF5キー押下)を選択します。開発ボードを正しく認識している場合は、ウィンド下に「CortexM4 on J-Link」と示され、main関数の直下で停止した状態になります。

f:id:microworm:20190922143720p:plain

この状態で、更にF5キーを押すと動作が開始します。D1→D4の順番にLEDの状態がトグル(反転)したら成功です。動かない場合は、すぐにPCから開発ボードを外し、LEDの極性が間違っていないか、接続が間違っていないかを確認しましょう。

 

ちなみに、プログラムを見ると「nrf_delay_ms(500);」と書かれている通り、本来は0.5秒ごとにLEDの状態がトグルされるはずですが、よく見てみると1秒程度で反転しているようです。

LEDが0.5秒ごとに反転するよう設定して終わろう

今回は、プログラム上の定義を変えることで、正しく0.5秒ごとのトグル(反転)するように修正してして終わりましょう。

では、「C:\nRF5_SDK_15.3.0_59ac345\modules\nrfx\soc\」にある「nrfx_coredep.h」というソースを開きましょう。

そのソースの70行目付近に「#elif defined (NRF52810_XXAA) || defined (NRF52811_XXAA)」という定義があります。この直下にある「#define NRFX_DELAY_CPU_FREQ_MHZ 64」が、使用しているCPUCPUクロック定義になります。この「64」を「32」に修正します(nRF52810は最大64MHzで動きますが、現状では32MHzで動いています)

f:id:microworm:20190922144301p:plain

修正したら、Alt+F7キーを押下してビルドを行い、F5キー押下でプログラムを走らせてみましょう。LED0.5秒ごとにトグル(反転)するようになったら成功です。

          どうですか?上手くいきましたか?
       最後までお読みいただきありがとうございました。