ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
548055 Топик полностью
aha (20.09.2014 16:25 - 16:30, просмотров: 220) ответил LordN на прерывание подымает флаг, а сброс этого флага ты делаешь в прерывании. пока флаг не сброшен - событие не теряется.
на самом деле у меня 4 двигателя, я подумал может оставить на один пик два двигателя. И кроме подсчета, у меня в прерывании еще происходит сравнение в заданным числом,чтобы тормознуть двигатель по достижению необх. количества. Макс. время 25 мкс обработки одного прерывания чтение чужих прог. крайне затруднительно, у меня в асс- ре


INTPR		;        обработка прерывания RB7-RB4

		movf portb,w
		bcf intcon,rbif
		movf portb,w
		xorwf portbt,w
		movwf temp
			btfss temp,5
			goto $+2
			CALL INTPR5		
			btfss temp,4
			goto $+2
			CALL INTPR4
			btfss temp,6
			goto $+2	
			CALL INTPR6
			btfss temp,7
			GOTO $+2
			CALL INTPR7

		call comparehod	;     сравнение с необх. количеством
		movf portb,w
		movwf portbt
		return

INTPR7
		banksel poz1
		incfsz poz1,f
		goto $+2
		incf poz1+1,f
		banksel temp
		return
INTPR6
		banksel poz2
		incfsz poz2,f
		goto $+2
		incf poz2+1,f
		banksel temp
		return
INTPR5
		banksel poz4
		incfsz poz4,f
		goto $+2
		incf poz4+1,f
		banksel temp
		return

INTPR5
		banksel poz3
		incfsz poz3,f
		goto $+2
		incf poz3+1,f
		banksel temp
		return