Если разберётесь (вырезка из программы под PIC18F26K22)....kotbaris1 писал(а):Можете пример кода показать?
В прерывании:
Спойлер
Код: Выделить всё
;------------------------------------
HighInt
movff STATUS,STATUS_TEMPH
movff WREG,WREG_TEMPH
movff BSR,BSR_TEMPH
BANK1
;------------------------------------
btfsc PIR3,SSP2IF
goto SSP2INT
goto HINTEND
;---------------------------------------
SSP2INT
bcf PIR3,SSP2IF
;
bsf _SSP2INT ; Программный бит (в некоем регистре)
movf SSP2BUF,W
movwf TEMPSSPBUFF ; Отсюда прочитаете значение SSPBUFF после того, как поднимется программный бит _SSP2INT
;---------------------------------------
HINTEND
;
movff BSR_TEMPH,BSR
movff WREG_TEMPH,WREG
movff STATUS_TEMPH,STATUS
RETFIE FAST
;------------------------------------Спойлер
Код: Выделить всё
;*****************************************************************************
WAITSPI2
btfss _SSP2INT
goto WAITSPI2
;
bcf _SSP2INT
;
RETURN
;*****************************************************************************
Флаг SSP2IF без разрешения прерывания в PIC18 не выставляется!!!


