2015年11月21日土曜日

mbedでLチカ Nucleo-F401REでfrdm_gpioを動かす

去年Nucleo-F401REを買って使い方がよくわからないのでほっておいたが、cortex M4なので少し調べてみることにした。

mbedの使い方は

https://developer.mbed.org/compiler/

にアクセスして「インポート」でサンプルプログラムをインポートして「コンパイル」して落ちてきた「*.bin」ファイルを、mbedターゲットをつないだ時に現れるフォルダにDrag&Dropすればいい。

これで、「mbed_blinky」や「Nucleo_blink_led」のLチカはできる。→オン・ボードのLEDがチカチカする。

が、その後がよくわからないのでほっておいた。

「Nucleo_pwm」を開いてみると「PWM_OUT」という定義っぽいものが出てきて、さらっとprintf()も出てくる。printf()はUART通信で文字列を表示するのかな?と思うが、「PWM_OUT」というのがどこで定義されているのか?

と思って探してみたら

https://developer.mbed.org/platforms/ST-Nucleo-F401RE/

の「Information」の囲みのところで
PWM_OUT=PB_3
となっている。これかな?

main.cppを見ると10ms間隔で1msのパルスを発生させる様な感じだ。
今日はオシロをしまってしまって引っ張りだすのがめんどくさいのであきらめた。

frdm_gpio


少しソースをいじったら動作した。


このexampleはオン・ボードのLチカとGPIOのPINチカ(?)のプログラムのようだ。



デフォルトでは
led: LED_RED
gpo: D0
と定義されている。

「Nucleo-F401RE」では「LED_RED」はないと怒られるので「LED1」に変更。gpoも「D0」だと動作しないので「D12」に変更。

ArduinoのPIN番号で指定するのかな?


LED1がD13に割り当てられてるのもArduino互換な感じだ。

メモ:


最近cortex M7というのが出たみたいだ。STM32 F7 Discovery気になるがとうてい使い切れそうにないので眺めるだけにしておきます(^q^;