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にすでに対応して
ますのでどしどしご利用ください。

Comments

Post a Comment








Go to top of page