私はソフトコアプロセッサ、アルテラのNios IIのプログラミングを行っています。以下は、チュートリアルの1つにあるコードです。ハードウェア(DE2ボード)でテストすることでコードを機能させることができますが、理解できませんでした。コード。
#define Switches (volatile char *) 0x0003000
#define LEDs (char *) 0x0003010
void main()
{ while (1)
*LEDs = *Switches;
}
私が知っているのは、定数またはマクロ#define
を定義するために使用されますが、
(char *) 0x0003010
なぜ上記のコードで、、のようなキャストがあり#define
ますか?- なぜ2つの定数で
Switches
ありLEDs
、定数ではなく変数のように機能するのでしょうか。