16ビットモードで動かない理由がわかりました。 #define OUTPORT (*(volatile unsigned char *)0xc0000) を #define OUTPORT (*(volatile unsigned int *)0xc0000) にしたら動きました。 先頭のアドレスをポイントすればいいとばっかり思ってました。 コンパイラがチェックして代入してくれなかったんですね。 しかし、新たな問題が生じました。 while(1){ OUTPORT=led; wait(); //forの2重ループによる時間つぶし led=~led; } に、変更したのですが、 点滅を始めるまでに3秒から5秒程度 時間がかかるのです。その後は、ちゃんと動作しています。 しかも、動作を始めるまでの時間はバラバラで、最初の点滅は 点滅間隔が遅いようです。 バスが有効になるまで時間がかかるのでしょうか? そんなことってあります? また、モード6は相変わらず動きません。 教えて下さい。 野中 和弘(mailto:non@xxxxxxxxxxxxx)