MCUのメーカーからソースコードサンプルを読むためのヒントはありますか?私はmcuプログラミングの初心者です。現在、MCU、データシート、およびそれらのサンプルコードを持っています。しかし問題は、サンプルコードが経験豊富なユーザー向けに書かれているように見えることです。RS232を初期化した理由、ポート1の4番目のビットを設定した理由などに関する質問が多すぎます。
読むためのヒントや、MCUのデータシートやサンプルコードの読み方に関する情報を入手できるリンクはありますか?
MCUのメーカーからソースコードサンプルを読むためのヒントはありますか?私はmcuプログラミングの初心者です。現在、MCU、データシート、およびそれらのサンプルコードを持っています。しかし問題は、サンプルコードが経験豊富なユーザー向けに書かれているように見えることです。RS232を初期化した理由、ポート1の4番目のビットを設定した理由などに関する質問が多すぎます。
読むためのヒントや、MCUのデータシートやサンプルコードの読み方に関する情報を入手できるリンクはありますか?
経験だけが答えだと思います。一般的なプログラミングと同じように、時間の経過とともに経験を積み、流行語や概念を学びます。マイクロコントローラでは、データシートや回路図などの読み方を学びます。オープン ドレイン、オープン コレクタ、弱いプルアップなどについて学びます。また、シリアル ポートについては、何らかの理由で常に複雑すぎます。マイクロコントローラーとシリアルポートで最も難しいのは、通常、適切なクロック除数を取得するために何をプログラムするかを考え出すことです.マイクロコントローラーのシリアルポートには、単純なものもあれば、非常に複雑なものもあり、良いドキュメントもあれば悪いドキュメントもあります.
別の答えは、データシートは常に間違っているということです。把握するためにハッキングしなければならない情報には、常にギャップがあります。データシートだけを使用して何千行ものコードをバキュームで書くのではなく、数行から数十行の少量のコードを書き、テストして次に進みます。他のパスよりもデータシート。多くの場合、データシートはハードウェアを実際に設計したエンジニアによって書かれたものではありません。ジュニア エンジニアや非エンジニアである場合もあります。情報が単に間違っている場合もあれば、ドキュメントがあなたが持っているものとは異なるが類似した部分に関するものである場合もあります。彼らが実際に何かを行うソフトウェアを提供する場合、データシートよりも正確である場合があります (常にではありません) (データシートはユーザーマニュアル、プログラマーリファレンスマニュアル、
時間と経験を重ねると、十分に広い視野を持って、ユーザーに情報を提供する際により良い仕事をするベンダもあれば、そうでないベンダもあることに気付くかもしれません。一部のベンダは、ソースではなくバイナリ形式で秘密をライブラリに埋めている場合もあります。コンパイラや提供する他のツールに秘密が隠されている場合があります (これは API とライブラリに戻ります)。私はそのような会社をブラックリストに載せる傾向がありますが、常にできない場合があります。たとえば、ARM は非常に優れた情報提供を行っています。問題は、コアが非常に多く、それぞれに多くのオプションがあり、性質が非常に似ている (同じ命令セットをサポートする) ため、その瞬間に使用している 1 つのプロセッサが何を実行し、何を実行しないかを分類するのが難しい場合があることです。ドキュメント。Atmel、指を置くのが難しいatmelについての何か、ドキュメントは一般的に標準をはるかに上回っています。しかしそれ以上に、atmel の何かが顧客に人気があります。たとえば、マイクロチップの写真を使用して、次のようなarduino、文化、言葉を選ぶことは決してありません。多くの pic フォロワーがいますが、atmel の世界とは異なります (arduino が発生するずっと前から存在していました)。
もう 1 つの注意点として、1 つのサンプル プログラムと 1 つのデータシートだけでは製品の歴史を理解できない可能性があります。また、多くの世代のチップで使用されてきたコードが存在する可能性があります。チップまたは新しいチップと同じコードを共有して、ビットが操作されます。そのビットは、あるデータシートを見ると意味があるかもしれませんが、別のデータシートを見ると意味がありません。これがハッキングの出番です。それなしで試してみて、何が起こるか見てください。おそらく、このコードがそれをサポートしていると言われているファミリーの他の部分を研究すると、より理にかなっているかもしれません。
google はあなたの友達か、お気に入りの検索エンジンです。特定のデバイスなどに対応するオープン ソース コードやその他のアイテムをできるだけ多く見つけてください。このレベルではハッキングが必要です。私はその用語を悪い意味で使用しません。ハッキングは、データシートに記載されているビットのいくつかを試して、実際に機能するかどうかを確認する必要があるという意味で使用します。 、他のソースコードを見て、それを理解できるかどうかを確認してください。1 ガロンあたりの走行距離が無限で、完全に安全で、長持ちし、安価な完璧な車がないように、完璧なデータシートとサンプル コードを備えた完璧なチップはありません。このソフトウェア/ハードウェア レベルで作業したい場合は、手を汚さなければなりません。
使用している MCU またはレジスターについて具体的に尋ねない理由が、それがクローズド ソース製品または NDA の背後にあるためである場合は、おそらくその製品を製造している会社にアクセスでき、そこからサポートを受けることができるはずです。通常、NDA に署名する必要のない会社から得られるサポートよりも優れています。オープンドキュメントではなく、オープンソース企業は悪いです。ただ、あなたが購入した会社が、内部的に保護された情報を示すほどあなたに興味を持っている場合、彼らはあなたが製品を作った/知っている実際のエンジニアにもっとアクセスできるように十分に興味を持っています. . これが当てはまらず、それについて話すことができる場合は、疑問に思っているレジスタとビットについて SO に質問を投稿することを恐れないでください。
MCU データシートのサンプル コードとフローチャートは、特定のペリフェラル (RS232 など) を初期化するための出発点として適しています。そこから始めて、MCU データシートでビット情報とその機能を追跡します。