¿Dónde se debe declarar un ISR en una biblioteca?

0

Supongamos que tengo una biblioteca que consta de TWI.hy TWI.c que contiene un ISR definido de acuerdo con la sintaxis AVR-GCC. Por ejemplo:

ISR(TWI_vect)
{
   switch(TWCR)
   {
       ...
   }
}

¿El código ISR debe ir a TWI.h o TWI.c? ¿O debería poner el ISR completo en TWI.c y poner algún tipo de "prototipo" de ISR en TWI.h?

    
pregunta HaLailah HaZeh

2 respuestas

4

El ISR pertenece al archivo .c . Es una función que genera directamente el código que está vinculado al ejecutable (es decir, no es una función solo en línea), por lo que ahí va.

El ISR no debe ser llamado por otras funciones, por lo que no necesita una declaración en el archivo de encabezado.

    
respondido por el duskwuff
1

Para minimizar los problemas de alcance, solo las personas a las que hace referencia la parte que llama deben estar en el encabezado.

Por lo general, los demás no llaman tu Isr, así que hazlo privado para ti. Los archivos .C son la forma de hacerlo.

Lo que generalmente hago es insertar una función de devolución de llamada allí pronto para que el usuario pueda instalar su propio Isr.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas