Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Hay palabras clave Init_ y _isr en el programa C del microcontrolador? ¿Cómo responde el temporizador a las interrupciones?

¿Hay palabras clave Init_ y _isr en el programa C del microcontrolador? ¿Cómo responde el temporizador a las interrupciones?

Hola, estas dos no son palabras clave. Los temporizadores e interrupciones en 51 corresponden al número del vector de interrupción. La interrupción externa 0, el temporizador 0, la interrupción externa 1, el temporizador 1 y la interrupción en serie corresponden a 1-5 respectivamente.

Para facilitar la comprensión y la lectura, muchas personas agregan el carácter _Init a la función de inicialización de temporizadores y otros dispositivos, lo que indica que esta función es una función de inicialización, lo cual es claro de un vistazo. Por ejemplo, la función de inicialización del temporizador 0 se puede escribir como

void timer0_Init(void)

{

...

..

}

Muchas personas agregarán _ISR a la función de interrupción. Por ejemplo, la rutina de servicio de interrupción del temporizador 0 se puede escribir como:

Temporizador no válido 0_ISR (no válido) interrupción 1

{

...

...

}

El _Init _ISR es solo el nombre de la función y se puede escribir de manera casual, pero el número después de la interrupción es el número del vector de interrupción y no puede escribirse casualmente. En el software keil, este número debe corresponder a lo que dije anteriormente, al igual que el número de vectores de interrupción correspondientes al temporizador 0 es 1, por lo que el número aquí debe ser 1; de lo contrario, no se puede ingresar la rutina de servicio de interrupción del temporizador 0.