hamayan です。お久しぶりです。 taji> printf ("init GRA1= %d\n", ITU1.GRA); もともとこのコンパイラはint型が32bitではないでしょうか?。 printfのプロトタイプ宣言は、 int printf(const char * ,...); なので、引数にint型が有っても、明示的にコンパイラに指示できず、 printf側では32bitの引数(例えばレジスタのER1)の内容をそのまま展 開しているだけ?。 コンパイラに明示的に型を教えてみては如何でしょうか。 printf("init GRA1= %u\n", (unsigned int)ITU1.GRA);