STM32普及活動。(別に会社の回しものでは有りません)
私の主張はこうです。
「ホビー用途でARMマイコンを始めるならSTM32,STM32始めるならSTBee!
でもマイコン初心者向けではないです。」
マイコン徹底入門の方と重複する所もありますが、その主張の主な理由としては
●STM32を勧める理由
ほぼ全命令が1サイクルで実行でき、ハードウェア乗算、除算機能が実装されている。
Thumb2命令のみを実装する事でプログラムメモリの使用効率も高い。
2.日本語資料の豊富さ
リファレンスマニュアルなどの日本語の資料が充実している。
また、しっかり書かれていて理解しやすい。
32bitマイコンは多機能な分、説明がしっかりしてないと理解が進まないので重要なポイントだと思う。
というか英語の読めない人は実質的に(CORTEX-M3では)STM32しか選択肢が無いのではと思う。
これが無いとレジスタ打ち込みで制御しなければならず、手間がヤバイ。
5.これからも情報が増えていく
今年の12月頃にはマイコン徹底入門の川内さんがSTM32の書籍を出版される予定。
日本STマイクロエレクトロニクスさんもホビーユーザーの普及に力を入れてるようです。
(プログラミングマニュアルを日本語化してくれませんか?STさん。)
●STBeeを勧める理由。(STM32搭載のマイコンボード。ストロベリーリナックス販売)
1.安い
3150円でCPU72MHz,ROM512kB,RAM64kB,DMA12ch,12bitADC(1μsec!),
12bitDACと尋常じゃないスペック。
USB書き込みに対応し、デバッガ無しで開発できる。(デバッガ用のピンも用意されている)
STM32搭載マイコンボードの中でも際立って低価格、高性能。
まだ、試してないけど1980円でSTBeeMiniも発売している。
速度はそのままで容量とピン数を減らした感じ。(機能も多少削られています)
とまぁ、いい事ばかり書いてしまいました。自分が好きだからですね。
ただ手放しで全部いいという訳でなく、注意点も有って
●ムズイ
1.多機能性半端じゃないです。
凄く高機能で覚えるだけでも大変なのに、レジスタも山程あります。
タイマ一つとっても、汎用タイマでも18個のレジスタが存在します。(32bit、当然1bitごとに機能が違う)
タイマーで割り込みをして1秒ごとにLEDをチカチカさせるプログラム、通称Lチカを実行する為に
TIM(タイマ),RCC(クロック),GPIO(入出力),NVIC(割り込み),の初期化が必要で
その初期化コードは百行以上に登ります。
初期化さえしてしまえば扱いは簡単ですが、最初は大変です。
Lチカまで2ヶ月くらい掛かりました。
ただ、設定の仕方(ライブラリによる初期化や動作)はどの機能も似ているので
一度覚えてしまえば、他の機能の設定は楽です。(機能を覚えるのは大変ですが。)
2.リファレンスマニュアルとスタンダードペリフェラルライブラリのとの連携が無い。
STM32の機能とレジスタを網羅したものがリファレンスマニュアルで
相互に対する説明は無く、動作を詳しく知る為にはライブラリのC言語ソースを見て
どのレジスタを操作しているのか調べなければいけません。
操作を覚えてしまえば、こんなに便利な関数群は無いのですが、もうちょっと説明があればなと思います。
(ライブラリのヘルプはあるが、英語ェ・・・・)
3.正直マイコン初めての人は無理だと思う
(というか32bitマイコンというのは全てそうなんでしょうか?)
①ハードウェアとして非常に多機能、設定が複雑。
②最も単純な制御でも初期設定の為にC言語の構造体まで理解する必要がある。
理解した上で挑まれるのが近道かと思います。(上から目線で申し訳ないです。)
をご覧になる事をオススメします。現時点なら、応募すれば発売前の入門書がタダで読めます。
知っている限りで一番理解しやすい情報ではないかと思います。(私もレビュー中)
色々言いましたが私はSTM32のパワーや多機能性をとても魅力的に感じています。
私自身もこのマイコンパワーを生かした工作をしていければと思います。