Atmega2560基本的なチュートリアル(2) - ATMEGA共通のデータベースと共通の公式声明

Atmega2560基本的なチュートリアル(2) - ATMEGA共通のデータベースと共通の公式声明

       公式スタートAtmega2560は、コードを書き始める前に、ATMEGAチップで比較的ユニークなコンフィギュレーション・レジスタのを見てみましょう、と公式リポジトリに使用される、公式サイトに行くことができる公式のライブラリの一部であり
https://www.microchip.com /webdoc/AVRLibcReferenceManual/ch20.html
見つけ、良い英語の友人は、元の関数について説明を見ることができます。

位置レジスタ1.高

(1)汎用レジスタを直接割り当てる
       進値が割り当てレジスタに直接、この方法は、単純な暴力であるが、レジスタ他の場所の値に影響を与えます

PORTA = 0X01;
PORTA = _BV(PORTA0);
PORTA = 1<<0;

「| =」割り当て(2)で
       |この方法が、登録するために割り当てられた16進数の値と前回の少し問題と比較するが、他の場所のレジスタの値には影響しません「=」で

PORTA |= 0X01;
PORTA |= _BV(PORTA0);
PORTA |= 1<<0;

場所は2.低を登録します

(1)汎用レジスタを直接割り当てる
       進値が割り当てレジスタに直接、この方法は、単純な暴力であるが、レジスタ他の場所の値に影響を与えます

PORTA = 0X01;
PORTA = ~_BV(PORTA0);
PORTA = 1<<0;

(2)「&=〜」が割り当てられ
       、この方法は以前と少し面倒に比べものの、レジスタ割り当てられ進値に「&=〜」ではなく、他の場所でレジスタの値に影響を与えません。

PORTA &=~ 0X01;
PORTA &=~ _BV(PORTA0);
PORTA &=~ 1<<0;

       これはひとつです

_BV()

       ライブラリ関数の公式の定義は、以下のように定義されます

#define _BV(bit) \(1 << (bit)) 

3.レジスタビットを読み込みます

(1)汎用レジスタを直接読み出す
       レジスタを1として直接読み取ることができないので、&進ビットの使用は変化以外1であるので、。
(2)は、ライブラリ関数で読み取り

bit_is_set(sfr,bit)

       このビットが高い、ハイリターンである場合は0

bit_is_clear(sfr,bit)

       このビットは、低リターン低い場合は0

4.総遮断スイッチ

sei()

       総ブレークオープン

cli()

       総中断オフ

割り込みハンドラ

ISR(中断向量)

       割込みがトリガされたときに機能が実行されると、割り込みベクタテーブルに対応する割り込みは、ウェブサイトを介して見ることができる
https://www.microchip.com/webdoc/AVRLibcReferenceManual/group__avr__interrupts.htm

6.ディレイ機能

(1)遅延MS

_delay_ms()

       括弧内の値は、必ずしもメガヘルツ単位、最大遅延262.14ms / 8MHzの= 32.768msに割り当てられるよう8MHzの水晶周波数262.14ms /水晶周波数の最大値は無限ではない
(2 )遅延たち

_delay_us()

       括弧内の値は、768us /水晶周波数が必ずしもメガヘルツ単位、最大遅延768us / 8MHzの= 96usに割り当てられるよう8MHzの水晶周波数の最大値は無限ではありません

公開された12元の記事 ウォンの賞賛2 ビュー4156

おすすめ

転載: blog.csdn.net/jiantoushi/article/details/103379059
おすすめ