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)