AVR Libc Home Page | AVR Libc Development Pages | ||||
Main Page | User Manual | Library Reference | FAQ | Alphabetical Index | Example Projects |
定義 | |
#define | _NOP() |
#define | _MemoryBarrier() |
#include <avr/cpufunc.h>
このヘッダファイルには、他のヘッダファイルに適しないAVR CPU固有の機能にアクセスするためのマクロが含まれています。
#define _MemoryBarrier | ( | ) |
メモリバリアの読み書きの実装です。メモリバリアは、コンパイラにバリアを超えてレジスタにいかなるメモリデータをキャッシュしないように指示します。これは、volatile
修飾子をオブジェクトに宣言することにより特定の最適化を防ぐよりたまに効果的なことがあります。
コンパイラの最適化に関して考慮されるであろうコード再配置問題を見てください。
#define _NOP | ( | ) |
なにもしない (NOP) CPU命令の実行です。これは、ディレイを実装するために使用してはいけません。このために、<util/delay_basic.h> や <util/delay.h>によってより使いやすい関数があります。コンパイラによって最適化されないことが保証された命令のため、デバッグ目的のためにNOPは役立つことがあります。これは、デバッガのブレイクポイントになることができます。