まんま!の備忘録

ソフトウェア・ファームウェア・ハードウェア関連の備忘録

EFM8UB10F8G のLチカプログラムを作成

Simplicity Studioを使用した EFM8UB10F8G のLチカプログラム作成・動作までをまとめます。
インストール方法はこちら。
taogya.hatenablog.com


アプリを立ち上げ、対象のデバイスを選択します。
カスタムボードなので、All Productsから選択します。
その後は、ウィザードに従い進めます。




まずはP0.0にLED制御ピンを割り当てて回路設計しているので、そこを設定します。
このピンの先はデジトラが来るようにしているので、Push-Pull 出力に設定します。

次は、タイマー割り込みを使用して約0.5秒周期でON-OFFをするようなプログラムにしたいので、タイマーの割り込み設定を行います。
Timer0を使用することにします。Clock Frequency と Mode の値は後で使用しますので覚えておきます。
違う値にしたい時は、Clock Control とか Core部分をいじってください。

ここまで設定すると警告出てるところが何箇所かあるので直します。

保存します。

コードが自動生成されるので、interrupts.c にON-OFFプログラムを書きます。
先ほどのタイマーの設定で、Timer0のClock Frequencyが225.208kHz、Mode が13-bitになっていたかと思います。
今回の設定では、1/225.208kHz x 2^13 ≒ 0.0321周期で割り込みが入ります。
なので、0.5 / 0.0321 ≒ 15回カウントされたらON-OFFを切り替えるようにプログラムします。

保存してビルドします。

初回はコンパイラのライセンスがないよ画面が出るので、以下のリンクをクリックして登録作業を行います。
会社のメールアドレスが必要です。フルライセンスを無料で使用できます。

そして、ライセンスキーが送られてきたらそれを入力してビルドを進めます。


では最後に書き込み作業。
P2.0/C2D ピンにタクティカルスイッチを実装しています。
それを押下しながらPCのUSBポートに接続します。
今回は3rd Partyのソフトを使用して、Pythonで書き込みます。

$ python -m venv venv
$ . venv/bin/activate
$ pip install efm8
$ cp "/your_build_path/myProject.hex" ./
$ efm8 myProject.hex

OKです。