|
Прежде всего требуется разрешить нужное прерывание, "размаскаровав" его в соответствующем регистре. Затем нужно разрешить прерывания вообще с помощью команды
sei; /* ассемблерная */
или
#include <что-то вроде intristic.h кажется>
_SEI(); /* "сишная"*/
=========================
Само прерывание пишется примерно так:
COMMON INTVEC(2 /*для меги*/) ; Сегмент INTVEC - размещение векторов прерываний
ORG UART_RX_vect
JMP URxC_interrupt ; UART Rx Handler
;------------
RSEG CODE(1)
URxC_interrupt:
st -Y, r16 ; сохраняем используемые регистры
in r16, SREG
st -Y, t16
... ; делаем что нужно
ld r16, Y+ ; восстанавливаем регистры
out SREG, r16
ld r16, Y+
reti ; возвращаемся в прерванную программу
E-mail: info@telesys.ru