Цитата
В стеке? Код полностью огласите плз.
Полность очень много!
Попробую частями.
Настройка и разрешение прерываний:
Код
;-- TIMER1 - SOUND --------------
LDI RTMP,$09
OUT TCCR1B,RTMP
LDI RTMP,HIGH(362)
OUT OCR1AH,RTMP
LDI RTMP,LOW(362)
OUT OCR1AL,RTMP
;-- TIMER0 - KEY --------------
LDI RTMP,$0E
OUT TCCR2,RTMP
LDI RTMP,124
OUT OCR2,RTMP
;-----------------
LDI RTMP,$50
OUT TIMSK,RTMP
Обработчик timer1:
Код
TIM1:
PUSH RTMPA
IN RTMPA,$3F
PUSH RTMPA
.
.
.
POP RTMPA
OUT $3F,RTMPA
POP RTMPA
RETI
Обработчик timer0:
Код
TIM0:
SEI
PUSH RTMPA
IN RTMPA,$3F
PUSH RTMPA
.
.
.
CLI <----------------------
CBI PORTB,7
SBI PORTB,7
LSL RTMPA
SBIC PIND,4
ORI RTMPA,$01
SEI <----------------------
.
.
.
STS $8000,RTMPA
RET
Проблема в том что даже если на PIND.4 тупо VCC подать, то младший бит в ячейке $8000 не всегда =1 если в обработчике TIM0 нету CLI/SEI во время его опроса.