STM32 が現在非常に人気がある理由は、チュートリアル資料が非常に豊富であり、チュートリアル用の開発ボードを販売している人の中には、少なくとも 50% のクレジットを持っている人もいるからです。
価格も手頃なため、多くの企業がこのシングルチップマイコンを製品に採用しており、初心者もこのマイコンを使いこなしたいという意欲が高まっています。
しかし、STM32の価格は過去2年間で高騰しすぎており、多くの企業がSTM32を国産チップに置き換えています。
私が初めてマイクロコントローラーに触れたのは 2011 年で、当時は STM32 が今ほど普及していませんでした。
開発ボードを購入すると、ルーチンのみが存在し、ビデオ チュートリアルはありません。
そうでなければ、STM32 から直接学習し始めるかもしれません。
人々は衝動的で、常に最も複雑なことを最短時間で学ぼうとします。
以前に開発ボードを買いに行ったときと同じように、標準構成では完成しないかもしれませんが、高構成は気に入っています。
ハイエンドモデルはより強力な機能を実行できるようで、市販されている一部のハイエンド製品の機能に近づいています。
実際、買い戻すとほとんどが捨てられ、灰として食べられます。
私はまだ馴染みのないものについて考えるのが非常に古風で、小白の特徴を完全に体現しています。
簡単で人気のあるものから始めて、体系的に学ぶのが好きです。
自分に才能があると思われる場合は、STM32 を直接学ぶことができます。
しかし、ほとんどの人は凡人です、彼らは私が学んできた道に従っています、そして私はそれが速いとはあえて言いません、少なくともそれを粘り強く続ければ、あなたは間違いなくそれを学ぶことができ、すぐに私のレベルに達することができます。
達人の成長過程は素晴らしいかもしれないが、自分には合わないかもしれない。
しかし、私が経験した道は、多くの人に適しているはずです。
初心者はまず 51 個のシングルチップ マイコンから学習を開始し、ボスが現れてもすぐに戦わないことをお勧めします。
少し前に、友人から何件か問い合わせがありました。
彼はバックエンド開発をしていて、最近 STM32 を学びましたが、非常に混乱していて、他の人のルーチンを変更して keil でコンパイルしたところ、問題がたくさん発生し、解決できませんでした。
一部の周辺機器も使用できますが、マイコンの動作が分からず、いつも制御不能な感じがします。
これは典型的なリープフロッグであり、自分の認識の範囲を超えて何かを学ぶことです。
STM32 の位置付けは、初心者がシングルチップ マイコンを学ぶためのものではなく、技術者の開発サイクルを短縮するためのものであるはずです。
そのため、ST はファームウェア ライブラリやグラフィカル設定を備えた STM32CubeMX など、一連の便利なサポートを正式に提供しています。
同様に、STM32 レジスタについてはまったく気にする必要がなく、データシートを読む必要さえなく、ライブラリ関数を直接呼び出してペリフェラルを使用できます。
逆に、51シングルチップマイコンはあまり便利ではなく、周辺機器を使用するために手動でレジスタを設定する必要があります。
この過程では、ワンチップマイコンの動作原理、内部構造、データシートの見方など、エンジニアに必要な事柄を同時に学ぶことができます。
特にデータシートを見て何も理解していないと、STM32の後続開発プロジェクトで不可解な問題がたくさん発生することになります。
ベイを見つけられないような気がするだけで、解決どころか、問題が何なのかすらわかっていないのかもしれない。
シングルチップマイコンベースの製品の場合、99%は一部の周辺回路のデバイスデータシートを読む必要があります。そうでない場合、どうやってその使用方法を知ることができますか?
51個のシングルチップマイコンの学習時間をショートカットして節約したように見えますが、実際にはもっと長い時間をかけている可能性があります。
数か月を無駄にしてしまい、また一から学ばなければならないかもしれません。
初心者は始めたばかりで、必ずしも 51 個のシングルチップ マイコンから学習を開始する必要はありません。主にリソースが少ない人であれば問題ありませんが、51 個のシングルチップ マイコンが最も古典的です。
それならstm8を通して学習すれば良いし、ペリフェラルもそれほど多くないので、開発用にレジスタを設定すれば制御できるくらいです。
Stm32 の内部は依然として比較的複雑であり、多くの周辺レジスタがあります。
初心者には向きませんし、本来は学べるのですが、学習順序を間違えて諦めてしまうのは残念です。
学習順序だけでなく、学習方法や深さも異なります。
51 シングルチップマイコンは一般に体系的な学習が必要であり、各ペリフェラルに対応するレジスタ構成を熟知しています。
STM32に関しては、データマニュアルを何度も読んだことはほとんどなく、ライブラリを調整したり、ペリフェラルを直接使用したりするだけでした。
今は理解できないこともたくさんありますが、経験を積めば自然と理解できるようになり、わざわざ勉強する必要はありません。
例えば、STM32のデータマニュアルを見ても、中国語であっても、なぜレジスタがたくさん使われているのか、全く理解できません。
私自身を例に挙げると、ちょっと皮肉な言い方になりますが、本当です。
私の英語レベルは非常に低いので、英語のデータブックをどう読むかは、データブックを推測して理解する私の経験に基づいています。
私のようなエンジニアはたくさんいるはずだと思います。
私はよく使い、よく見るので、多くのコアパラメータは同じです。
STM32の学習も同様で、MCUをデータマニュアルで学習するのは悪夢です。
正しい方法、何があっても、ルーチンを真似しても、まずは周辺機器を使って効果を確認します。
つまらないデータマニュアルを見るよりずっと面白いので、使ってみてパラメータを変えてみたり、ピンを変えてみたり、タイミングを変えてみたり、チャンネルを変えてみたり…。
STM32 ファームウェア ライブラリに精通すると、特定のペリフェラルの構造メンバーが特定のレジスタに対応していることがわかります。
このとき、対応するレジスタを重点的に勉強するとより理解しやすくなります。
一般的にSTM32レベルのシングルチップマイコンをお持ちであれば、プロジェクトを通じて習得するのが最も早いです。
以前に他のマイクロコントローラーを学習したことがある場合、現時点で最も価値のあることは、STM32 を学習しないことです。
それはプロジェクトを実行する能力であり、専門用語で言えばプロジェクト思考とプログラミングレベルです。
開発ボードで学ぶだけではシングルチップマイコンというツールしか学べず、学んだ後でもプロジェクトはまだできないことがわかります。
これが、Boundless MCU プログラミングでプロジェクト駆動型の学習ができる理由でもあり、私自身もプロジェクトを通じて STM32 を学びました。
知識でもアイデアでも、実行できないものは時間の無駄です。
最後に、皆さんの勉強の成功を祈っています。
コードワードは簡単ではありませんが、オリジナリティはさらに困難です。シングルチップマイコンのより実践的な経験は、Woji シングルチップマイコンのプログラミングにあります。役に立ちましたら、スリーリンクを手配してください...