Figura 44. Rutina Servicio de Interrupción del Temporizador
Como se muestra en la
Figura
45, las rutinas de interrupción RTIF prueban para dos condiciones
especiales, 0% y 100% del ciclo de trabajo. Entonces la introducción de las variables PWMFine y PWMCoarse
para ser usadas por la rutina de servicio de interrupción TOF. Si se desea un 0% del ciclo de trabajo, la salida del
PWM se pone a un nivel bajo y la rutina de servicio de interrupción RTIF volverá inmediatamente. Si se desea
un 100% del ciclo de trabajo, la salida de PWM se pone a un nivel alto y la rutina de servicio de interrupción
RTIF volverá inmediatamente. Si se desea un ciclo de trabajo entre el 0% y el 100%, la variable DesiredPWM se
reparte en los dos componentes, PWMFine y PWMCoarse. Si el valor resultante de PWMCoarse es 0, el
programa saltará a la segunda parte de la rutina de interrupción TOF, qué continuamente compara el valor en
PWMFine con los cuatro bits superiores del TCR. Si el valor de PWMCoarse no es 0, se habilitan las
interrupciones TOF y vuelve a la rutina de interrupción RTIF.
Figura 45. Diagrama de flujo de la Rutina de Interrupción de Tiempo Real
99