質問: AVR マイクロ コントローラ用の同じC コードは他のどんな型でも動きますか? 私はマイクロコントローラについて学んでいて、この問題に関する知識は非常に限られています。 私は、レジスタにビットを設定し、基本的にuCを動作させるためにそれらを操作する必要があることを知っています。レジスタはマイクロコントローラ内の電子機器をセットアップし制御する。 私がAtmel Studioで特定の8 ビット uC用にC コードを書いたとしよう。このuCのデータシートには、例えばTCNT0のようなレジスタ名があります。同じコードを他の8ビットAVRで使用したい場合はどうすればいいですか?私はすべてを最初から書くべきですかそれとも少し修正を加える必要があるだけですか?ほとんどのレジスタ名は共通ですか? 例えば、CでATmega328Pをプログラミングする場合、例えばATmega168で同じコードが他の8 ビット型でも動くでしょうか?もしそうでなければ、あなたは通常それを最初から書くのでしょうか、それとも前のものを修正するのでしょうか? コードの互換性について混乱しています。 AVR32のような32ビットのuCに8ビットのuCのコードを使用するのと同じ質問はどうですか。
回答: あなたが同じAVRファミリーで働いているならば、登録簿の名前は全く同じであるために使います。一部のレジスタが表示されることがありますが、機能が同じでない場合は消えます。 しかし、あなたが他の英国の製造業者を買うならば、レジスターの名前は全く異なるでしょう。 (マイクロチップからTIなどに行く場合) ほとんどのuCはCプログラミングを使用しているので、古いコードから始めることができます。アルゴリズム部分は変更されない可能性があります。意図したとおりにuCを動作させるには、登録を調整する必要があります。