Pregunta

Acabo de terminar mi clase de microprocesadores en la universidad hace tan sólo unas semanas, no programamos sólo en conjunto. Hemos aprendido una buena cantidad (en mi humilde opinión) acerca de las interrupciones.

Aquí es mi pregunta: Estoy programando en C usando el compilador de HiTech para el 16F684, en la sección técnica de discutir las interrupciones ( PIC 16F684 Hoja de datos Sección 12.4) dice que el programa irá al 0x0004 vector de interrupción. Utilizando el conjunto de mi clase microprocesadores tendríamos simplemente establecer una sentencia .org apunta a esa dirección y escribir la asamblea necesaria a continuación de modo que cuando la interrupción se produce sería saltar y correr. Me puedo imaginar que en el montaje, pero cuando programo en C no creer que tenga control sobre donde las piezas del programa se colocan en la memoria, lo que representa un problema. No puedo encontrar la manera de colocar los comandos en la interrupción en C.

Por favor, hágamelo saber si necesito aclarar!

¿Fue útil?

Solución

Este FAQ por Microchip tiene alguna información sobre el uso de interrupciones bajo HiTech C .

Otros consejos

HiTech C extiende el lenguaje C con el tipo de función interrupt:

void interrupt my_interrupt_handler (void) {
    handle_interrupts_here();
}

Usted realmente debe conseguir el manual para el compilador. Creo que el manual para el Pic-lite es gratuita para su descarga, por lo menos era cuando descargué mi copia alguna vez en 2001.

Vas a tener que excavar en la documentación HiTech, pero a menudo los compiladores tener palabras clave especiales para definir funciones de interrupción. El compilador, o el sistema de tiempo de ejecución, tiene que lidiar con una función llamada por una interrupción en especial: Además de la configuración del vector, el compilador (o sistema de ejecución) tiene que conservar todos los registros. Puede que no tenga que ver que para un no-interrupción, la función normal,.

El manual será su amigo.

El CCS compilador para PIC utiliza # int_ * directivas del compilador o 'atributos' en las funciones de manejo de interrupciones para los diversos interrupción fuentes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top