[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Cseg at 2006H
dcw INTR00 - HSO (INT03)
Cseg at 2018H
DCB 0EBH
Cseg at 203EH
DCW INT0 - NMI (INT15)
...
;===========================================
INT0: pusha
PUSH RES_LO
PUSH RES_HI
push tmp_lo
push tmp_hi
...
pop tmp_hi
pop tmp_lo
POP RES_HI
POP RES_LO
POPA
RET
;-------------------------------------------
INTR00: pushf
ei
PUSH RES_LO
PUSH RES_HI
push tmp_lo
push tmp_hi
...
pop tmp_hi
pop tmp_lo
POP RES_HI
POP RES_Lo
popf
RET
;===========================================
прерывание INT0 происходит с частотой 2500 Гц, INTR00 – с частотой 200 Гц.В INT0 не предусмотрено разрешение других прерываний, а пропуск одного INTR00 не создает проблем. До тех пор пока вызовы прерываний были разнесены между собой все было хорошо, но однако это система работает в реальном времени… Кстати такая проблема с прерываниями возникла не у меня одного, не смогу точно описать, но контроллер работал в другой системе и с другими прерываниями, но проблема была та же – “не откладывается одно из прерываний”.
E-mail: info@telesys.ru