왜 changetime이 호출되지 않습니까? int0의 상승 에지가 참일 때 일부 작업을 수행하려고합니다. 은 내가 매치를 중지 설정하고 내가 잘못이 .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
네, 저는 i (SEI) –
을 설정합니다. ISR이'changetime'에 빠지면 정말 원하는 것입니까? –