組み込みシステムへの旅を始めているなら、おそらくあなたはすでに古典的なSTM32対Arduinoの議論に遭遇している可能性があります。アードゥーデーは「ただのおもちゃ」だと主張する人もいます。STM32に真っ直ぐ飛び込むのが唯一の「真剣な」道だと言う人もいます。
ユーザーの議論は、非常に異なる、そしてはるかに実用的なストーリーを伝えます。
この記事では、ノイズをカットし、本当の質問に答えます:あなたの目標がプロの組み込み開発である場合、最初にArduinoまたはSTM32を学ぶ必要がありますか?

1.なぜSTM32対Arduinoが間違った最初の質問なのか
初心者が最初に間違えるのは、ArduinoとSTM32をまるで同じもののように比較することです。
彼らはそうではありません。
•STM32はSTMicroelectronicsによってなされる32ビットマイクロコントローラのファミリーです。
Arduinoは、IDE、ライブラリ、抽象化レイヤー、コミュニティなど、AVR、STM32、ESP32など、多くのMCuで実行できる開発プラットフォームとエコシステムです。
つまり、これは単なるハードウェア比較ではありません。抽象化を学ぶのと、最初に内部を学ぶこと。

2.Arduinoの説明 - それが本当にあなたに教えてくれること
Arduinoの最大の強みはシンプルさではなく、焦点です。
Arduinoは大量の低レベルセットアップを削除しているため、初心者はマイクロコントローラが実際に何をしているのかに集中できます。
•読書センサー
•モーターの制御
•UART、SPI、I2Cの使用
•PWM、タイマー、割り込みの理解
• 組み込みコードの構造化
そのため、多くのユーザーがArduinoを「クリック」したツールとして説明しています。
時計の設定やADCがゼロを返す理由のデバッグに何日も費やす代わりに、Arduinoは動作する何かを完了させます。その成功が勢いを増す。
そして、はい、ArduinoはまだC / C ++です。偽の言語を学んでいるわけではない。

3.STM32の説明 - 力、複雑さ、現実
STM32マイクロコントローラは、強力で柔軟性があり、業界で広く使用されていますが、複雑さというコストがかかります。
初心者は、STM32が要求するものを過小評価することがよくあります。
•時計の木を理解する
• 末梢初期化
•HAL対ベアメタル対CMSIS
•ベンダー固有のツール
•デビガ、エラータ、およびリファレンスマニュアル
経験豊富なエンジニアでさえ、アプリケーションロジックを書くよりも、STM32周辺機器を機能させるのに多くの時間を費やしていることを認めています。
STM32は悪いから難しくない - すべてを露出させるので難しい。

4.Arduino vs STM32 for Beginners — A Practical Comparison(ア・プラクシカル・
|
アスペクト |
Arduino |
STM32 |
|
学習曲線 |
優しい |
スティープ |
|
最初のプロジェクトまでの時間 |
営業時間 |
日または週 |
|
抽象レベル |
ハイ |
低〜中程度 |
|
デバギングの複雑さ |
ロー |
ハイ |
|
職業上の関連性 |
プロトタイピング&テスト |
制作・業績 |

STM32は、彼らが内部でどのように機能するかを教えています。

両方が問題ですが、同時にではありません。
5.Arduinoはプロとして使われている?正直な答え
Arduinoは広く使用されています:
• ラピッドプロトタイ
•テストの据え付け品
•センサー評価
•概念実証ビルド
•内部ツール
多くのプロエンジニアは、「すぐに作業するために何かが必要だ」ときにArduinoをつかんだことを公然と認めています。
通常出荷されていないのは、Arduinoボード自体であり、あなたが学んだコードの概念ではありません。
「Arduinoをよく知っていれば、抽象化を解くことができます。プロジェクトを決して終わらせなければ、何も学ばない」

6.スマートラーニングロードマップ(アルドゥイノ→STM32)
フェーズ1:Arduino(2〜4週間)
焦点を当て:
•GPIO、タイマー、PWM
•シリアル通信
•データシートの読み取り
•基本的なデバッグ
•電源の間違い(はい、それらを作ります)
停止時:
•あなたは周辺機器が何をするか理解しています
•コードが機能する理由を説明できます
フェーズ2:トランジションツール
• プラットフォームIO
•ESP32(アルドゥイノ+ネイティブSDK)
•Arduinoのコアコードを点検して下さい
フェーズ3:STM32
今、STM32は恐ろしいことをやめ、論理的になり始めます:
•時計の設定は意味をなします
•HALの抽象化は親しみやすい
•デバッグは生産的になり、落胆しません
7.最終評決:最初に学ぶべきはどれですか?
• 組み込みシステムの初心者です
• 迅速なフィードバックとモチベーションが欲しい
•あまりにも多くの概念が一度にヒットしたときに苦労する
以下の場合、STM32 の先発
• 周辺機器をすでに深く理解しています
•低レベルのデバッグを楽しむ
•あなたは毎日参照マニュアルを読むのが快適です
真実?
ほとんどのプロは「難しい方法」を始めませんでした。
彼らはプロジェクトを終わらせる場所から始めました。

8.ボトムライン
本当の間違いは、間違った出発点を選んだから辞めることです。
ツールと戦うのではなく、概念を学ぶことができるところから始めましょう。
STM32は、待機、登録、およびすべてです。







