changetimeが呼び出されないのはなぜですか? int0の立ち上がりエッジが真であるときに何らかの操作をしたい。 iはinterupt設定し、私は間違っては.ORGアセンブリー内のインターベクトベクトルに何が問題なのですか
.include "m32def.inc"
.ORG $00
RJMP define
.ORG $002
RJMP changetime
.ORG $40
.DB $0C,$0A,$21,$11
.ORG $100
.DB $FC,$60,$DA,$F2,$66,$B6,$BE,$E0,$FE,$F6
.ORG $200
.DB $FB,$F6,$F1,$E2,$C4
define:
LDI R20,246
LDI R24,$41
OUT GICR,R24
LDI R24,$40
OUT GICR,R16
SEI
LDI R24,$03
OUT MCUCR,R24
SBI DDRD,0
SBI DDRD,1
LDI R16,$04
OUT SPH,R16
LDI R16,$00
OUT SPL,R16
changetime:
LDI R20,$FF
CPI R21,5
BRNE dochangetime
LDI R21,0
RJMP exitchangetime
dochangetime:
LDI R31,$03
MOV R30,R21
LPM R20,Z
INC R21
LOPP:RJMP LOPP
exitchangetime:
RETI
から最初のラインからですが、正確に決してPCがchangetimeに行くんだと思いallthingありません。
割り込みを有効にしましたか? – Jester
はい、私は(SEI) –
をリセットします。あなたのリセットISRは 'changetime'に落ちます、それは本当に欲しいものですか? –