メモリマップドI/OのI/OポートにアクセスするプログラムをC言語で記述するときの注意点として、適切なものはどれか。
答え イ
【解説】 メモリマップドI/OのCPUでは各種I/Oはメモリと同じようにアドレスを指定することでアクセスができます。 ただ、C言語で書かれたプログラムはコンパイラが最適化をし、I/Oのアドレスから読みだしたデータはレジスタにセットされ、その後、同じアドレスに繰り返しアクセスするとレジスタのデータを参照するだけで、I/Oにアクセスしなくなってしまうため、これを防ぐように変数にvolatile型修飾子をつけて宣言します。
【キーワード】 ・メモリマップドI/O
戻る 一覧へ 次へ