自分のブログなので,自分のまとめとしておく。
PIC, AT, STMといったいわゆる小型のマイコンを,趣味,興味から使い始めてみて2ヶ月ほど。その間に,ありがたいことで,職場でも使わせていただく機会があり,いろいろ勉強になった数ヶ月だった。
なんだかんだと,PICを一番使っている。特に,内蔵モジュールのPWMとコンパレータを使った案件は楽しかった! まさにPICを使いこなしている,という雰囲気だ。
ただ,XC8/XC16と,MPLAB IDEには手を焼く。
まず,XC8は整数の扱いが他のコンパイラーと少し違う? 計算が正しいか,入念なチェックが必要。
XC16+MCCは無愛想で,生成されたサンプルがさっぱり理解できない...
とか,細かいところはやはり不満。
そして,ICSPによるプログラム書き込みはいいけど,そのままそれをシリアルモニターできないのはツラい。別途シリアル回線を準備するか,OLED等で状況表示,スイッチ等で動作変更が必要となる。
使う用途は限定されるが,MPLAB IDEのsimulationは,それなりに使える。上記,「コンパイラーは正しく計算しているか?」の検証は,ある程度できる。
STM32 Nucleo + mbed では,上記のようなPICの不満は解消される。
ハードウエア設定はほぼ皆無でよく,サンプルを見てソースコードを埋め込めば,割とあっさりと動くようになる。USBで接続したまま,mbedのweb上のコンパイラーからダウンロードされた .bin を,ターゲットにコピーするようにすれば,即,実行される。さらにUSBを接続したままで,パソコン上でシリアルターミナルソフトで状況確認が容易である。
惜しいのは,大掛かりなmbedの影響か,CPUの能力を100%引き出せてはいないのではないか,ということ。STM32であれば,ST純正の開発環境を使えば少しは違うのかと思うが,まだ試せていない。
職場でも使ってみた。いい感じではあったが,残念ながら,私の接続ミスでターゲットを壊してしまった。反省...
古いSTM32も,mbedで.binをつくり,STLINKでターゲットに書いて実行させることはできるようになった。ただしこちらも壊してしまい,深くは検証できていない。また反省...
アトメルのCPU + Arduinoの環境,小規模な制御は,上記の流れから「かなりいい線」ではないかと思っている。シリアルを接続したまま,書き込みと,そのままArduino IDEのシリアルモニターが使える。Arduino言語はそれなりによくできていて,参考になるコードもいっぱい。コーディングはしやすい。
惜しいのは,クラウドベースの開発環境が無いこと。mbedの「場所を問わずに開発」はよくできている。
それはともかく,もう少し使ってみよう,ということで,職場でも使えそうなこれを発注してみた。
https://www.dfrobot.com/product-1075.html
職場では,ブレッドボードは使わない。実験基板に,あるいは直接はんだ付けしてテストする。小規模な方が,組み込むにせよ,外でテストするにしても,有利である。
USBからプログラム,シリアルモニターが使えそうなので,開発や,状況確認も簡単そうだ。
さて,届くまで楽しみに,別のボードで遊んでいよう。
0 件のコメント:
コメントを投稿