avr-libc  2.0.0
Standard C library for AVR-GCC

AVR Libc Home Page

AVRs

AVR Libc Development Pages

Main Page

User Manual

Library Reference

FAQ

Example Projects

All Data Structures Files Functions Variables Typedefs Enumerations Macros Modules Pages
マクロ
<avr/cpufunc.h>: AVR CPU固有の関数

マクロ

#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は役立つことがあります。デバッガのブレイクポイントに指定することができます。