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の水晶周波数の最大値は無限ではありません