STM32F4版Nucleo(Nucleo F401RE)を使ってドットマトリクスI2C液晶を動かす


買ってしまった…
でもこのぶろぐの運営上F4版Nucleoは避けては通れないので新しい時代
(mbed全盛)の幕開けには必然であったと思うのですよ!

STマイクロからリリースされたNucleo一族はmbedが利用できるという売り文句の
他に価格が異常なくらい安いという点も注目を集めていますね。これについては
いろんな方がいろんな考察をしておりますが、ねむいさん的にはこれは中華製
ぱちもん基板の駆逐も目的としてるんじゃないかなとにらんでます。STM32って
中国大陸の方の中華圏では日本市場とは比べ物にならないほど大人気なんです。
それにあやかり安かろう悪かろうのとんでもないブツがあふれてますのでST自ら
超安価に基板をばらまいて巨大な中華市場をさらにコントロールしようという
思惑が考えられます。

視点を日本に戻すと日本ではハードウエアレベルを隠ぺいした抽象化を強化した
プログラミングがArduinoや前途のmbedを中心に大流行していますので日本に
おいてもこの基板を用いたことによりSTM32の利用者も急激に増加していく
ことになると思います。
で、ねむいさんってmbedとか使ってないから全然関係ないじゃんとか突っ込まれ
そうなのですが別に便乗とかそういう意味合いでは全くなく単にSTM32F401
シリーズを使ってみたかっただけです!!!!




ゲフンゲフフン…というわけでSTM32F401シリーズは従来のF4シリーズの廉価版に
位置付けられていて下記の機能が削られています。
・CCM(Core-Coupled Memory=密結合メモリ)
・DMA転送用SRAM領域
・BackupSRAM領域(バックアップ"レジスタ"は健在)
・クロックがF40x系の半分(MAX84MHz)
・PB11(Vcapになった/一部パッケージのみ使用可能)
・FSMC
・ETHERNET
・その他ペリフェラル色々

引っ掛かりやすいのはPB11でしょうか。GPIOでPB11を使用している場合に
F401系に載せ替えるような時は注意が必要です。


STM32F401系のメモリ構成は大雑把にするとこのような感じになります。
画像はF4版Nucleoに乗っているSTM32F401RET6のものです。ごくごく一般の
ARMマイコンと変わらなくなってますので特に小難しいことは必要ないです。



てわけで実践です!緑色のLEDが点滅します。
(注:右上は某クレイジーサイコレズではなく見滝原中学校の制服を着たいないさんです)
先ずはLチカ!mbedだとハードを越えてほぼ同じコードでLチカせしめることが出来ます
がねむいさんの環境も同じくmain.cはほぼコピペで同じようなことが可能です!!!
水面を優雅に泳ぐ白鳥も水面下ではせわしなく足を動かしているのと同じく抽象化さ
れたコードの下では頑張って下駄履かせてきた人たちの汗と涙が詰まっていることを
少しでもおもいだしてくれれるとうれしいでs


そういうことはどうでもいいのでさっさと先に進みます。お次は前回と同じI2Cデバイス
です。こちらもいつものの奴で汎用化したシンプルなI2Cライブラリを作りこんでいて
そのまま転用出来るようにしてあるのではっきり言って前回のF0系より楽勝でした。

所でこのi2c液晶、私が使い方公開しましたがaitendoさんで全く数が減ってません…
規模の大きいマイコンで使う限りでは圧倒的に使い勝手が良いのですが…
消費電流もST7032iとかに比べて少ないのでお勧めです★
大事なことなので前回に引き続き二度言いました。



というわけで今回動作させたF4版NucleoのLED点滅とI2Cデバイスのサンプルはおきぱに
公開しております
。一旦ベースをこさえてしまえばあとはどんどん作りこんでいけるので
オフラインコンパイラフリークな方にも安心してNucleoを利用できると思います。

また忘れるところでした、私のOpenOCDのバイナリは今回のF4版Nucleoに
すでに対応してますのでどしどしご利用ください。

Go to top of page