はじめましてK.Mekataです。 秋月電子のAKI-H80 と、マザーボード AE-H8MB コンパイラは秋月電子の物を使用しています。 インタバルタイマで、LEDをちかちかさせようと考えているのですが 動作しない理由がいま1つわかりません。 自分で「これはやった」とおもっているのは、 アセンブラにより、割り込みベクタ 050Hを乗っ取る WDTをインターバルタイマとして使用するように設定。 割り込みを有効に。 というかんじなのですが、LEDは点灯してくれません。 どうか解決方法を教えていただけませんか? ----resetv.mar .CPU 300HA .IMPORT _timer1INT .SECTION A,DATA,LOCATE=H'000000 .IMPORT _main .DATA.L H'00100 ;リセットベクトル .ORG H'000050 ;IMIA1 .DATA.L _timer1INT .ORG H'000100 MOV.L #H'FFF10,ER7 ;スタックポインタ設定 jmp @_main .END --mytest.c int timer; void main (void) { char *P4a = (char *) 0xfffc5; char *P4b = (char *) 0xfffc7; char *P4c = (char *) 0xfffda; char *P5a = (char *) 0xfffc8; char *P5b = (char *) 0xfffca; char *P5c = (char *) 0xfffdb; char *wdta = (char *) 0xfffa8; char *wdtb = (char *) 0xfffa8; char *wdtc = (char *) 0xfffaa; unsigned int data; *P4c = 0xff; *P4a = 0x00; *P5a = 0xff; *wdta = 0x05a27; /* 0010 0111 */ *wdtb = 0x0a500; timer=0; while (1) { if ( (*P4b & 16) == 0 ) { *P5b = 0xff; } else { /* *P5b = 0x00; */ } if ( timer == 32768 ) { *P5b = 0xff; } if ( timer == 0 ) { *P5b = 0x00; } } } #pragma interrupt(timer1INT) void timer1INT(void) { char *wdta = (char *) 0xfffa8; char *wdtb = (char *) 0xfffa8; char *wdtc = (char *) 0xfffaa; char *P5a = (char *) 0xfffc8; char *P5b = (char *) 0xfffca; char *P5c = (char *) 0xfffdb; int dummy; dummy = *wdta; dummy &= 0x7f; *wdta = dummy; *P5a = 0xff; *P5b = 0xff; timer++; if ( timer > 65536 ) { timer = 0; } }