STM32F401で遊んでみる(3)

5.サンプルプログラムを実行してみた

IDE上の「Compile」をクリックしてみるとバイナリが生成されるようで、binファイルの保存場所を聞いてきます。
ここでは、直接USBマスストレージに見えている場所(/media/NUCLEO)を指定してみました。これで勝手にターゲットボード側にプログラムが書き込まれるようで、書き込み中はデバッガ側のLEDが赤と緑に何度かチラチラ変わるようです。

指定すると、緑LEDの点滅は止まり、赤LEDが点灯するのみになってしまいました。

6.ソースコードを修正する

ワークスペース左側のツリーの中から main.cpp をクリックすると、ソースが表示されました。ソースコードによれば、LED1が200ms点灯、1s消灯の繰り返しになりそうな感じです・・・が、実際にはそのようには動いていません。

ボードのユーザーマニュアルにある回路図を見ると、

  • ターゲットボード上の赤LED(LD3)は電源供給で点灯
  • ターゲットボード上の緑LED(LD2)はJP6を介してArduinoコネクタの10pin幅の方の6pin(D13)へ接続

となっています。一方で、端子一覧でも

  • LED1はD13と同じPA_5に割り当て

となっているので、これでLEDは点灯してもおかしくないはずです。

そこで、LED1の定義が怪しいと睨んで探してみたのですがみつかりません。そこで試しにソースコードの3行目の

DigitalOut myled(LED1);

をもっともCPU自体のポート割り当て記述に近いと思われる

DigitalOut myled(PA_5);

と書き換えてコンパイルしなおしてみたところ、無事にLチカが始まりました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)