Страница 1 из 1
пмогите с преріванием
Добавлено: Ср янв 28, 2009 16:29:21
Esya
в чем может бЫть проблема???
в обработчике прерывания есть переход по сравнению и после возврата по этому переходу сбрасывается бит I В регистре SREG .хелп!!!
Добавлено: Ср янв 28, 2009 19:23:20
Pooher
"I" сбрасывается сразу после наступления прерывания, по этому и используется reti для возврата из обработчика
Re: пмогите с преріванием
Добавлено: Ср янв 28, 2009 19:32:26
smac
Esya писал(а):в чем может бЫть проблема???
в обработчике прерывания есть переход по сравнению и после возврата по этому переходу сбрасывается бит I В регистре SREG .хелп!!!
Как выход из обработчика осуществляется? SREG сохраняется(восстанавливается) при входе (выходе из обработчика)? В общем - код в студию.
Добавлено: Ср фев 04, 2009 14:55:33
Lonleystranger
Для 2313
Код: Выделить всё
.include"tn2313def.inc"
.org 000
rjmp start ;1
nop ;2
nop ;3
nop ;4
nop ;5
nop ;6
rjmp TMR0Ovf ;7
nop ;8
nop ;9
nop ;10
nop
Start:
ldi r16,RAMEND
out SPL,r16
ldi r16,2
out TIMSK,r16
ldi r16,1
out TCCR0,r16
sei
cycl: rjmp Cycl
TMR0Ovf:
nop
reti
Откомпилируйте в AVRStudio и посмотрите как работает. Плохая практика лучше хорошей теории.

Добавлено: Ср фев 04, 2009 15:37:55
nictrace
2Lonleystranger:
Зачем в TIMSK загружается RAMEND??

Добавлено: Ср фев 04, 2009 16:21:41
Lonleystranger
nictrace писал(а):
Зачем в TIMSK загружается RAMEND??

Сори, уже исправил, вместе с комментами на русском, которые из студии копируются кракозяблами удалил и нужную строчку кода. Еще раз сори!