椚座です。 On Fri, 21 Jan 2005 10:53:11 +0900 "Kazuhiro Nonaka" <non@xxxxxxxxxxxxx> wrote: > #define FPGA (*(volatile _WORD *)0x20000) > _WORD *data; > data=FPGA; > > って?こんなんですか? 解釈によりますが, #define FPGA (*(volatile _WORD *)0x20000) _WORD data; data=FPGA; または #define FPGA (volatile _WORD *)0x20000 volatile _WORD *data; data=FPGA; が正しいのでは? 前者の場合は,FPGA が指し示しているのは _WORD へのポインタ ではなく,_WORD の自体なので,data をポインタとして 宣言するのはおかしいということです。 後者の場合は,あとでポインタ変数に代入するのですから, #define FPGA はポインタのままでよいので,頭についている * は いらないということです。あと,この場合は *data の宣言に volatile を付けないと,*data は volatile になりません。 椚座 淳介 (Junsuke Kunugiza) E-Mail: jk@xxxxxxx http://www.exp.org/