Interrupciones en CCS

Soy Juan Pedro, estoy haciendo el proyecto de final de carrera de Ingeniería Técnica Industrial de electrónica. Tengo que programar un microcontrolador PIC, y para ello estoy usando un compilador de C, el PCW de CCS, voy aprendiendo cosas y más o menos sale bien, pero ahora tengo el problema de que:
No se como se gestionan las interrupciones en este compilador, he buscado información pero no he encontrado nada.

5 Respuestas

Respuesta
1
Pues tendrás que mirar información del PCW para conseguir que tu código se posicione en ciertas direcciones de memoria.
Normalmente los handles de interrupción son simplemente punteros puestos en posiciones fijas de la memoria (en assembler existe la directiva org para colocar código o datos en esas posiciones).
En un compilador de C el standard no contempla una directiva similar, con lo que me imagino que sera una directiva especial que solo valdrá para el PCW, al estilo de los #pragma que son dependientes de la plataforma.
Respuesta
1
Respuesta
1
Yo programo en asembler, no uso el C para los microcontroladores.
Las interrupciones son diversas y variadas. Hay un registro que las enciende o apaga y otro que contiene los flags de interrupción.
El registro INTCON es el más importante. Luego están PIR1 y PIE1 dependiendo del micro utilizado.
Todas las interrupciones van a parar al vector de interrupción que se encuentra en 04h.
Allí se consulta por el flag que está encendido y se sabe quien fue el que produjo la interrupción.
El flag hay que ponerlo a cero por soft.
Esto es en líneas generales el asunto interrupciones. Suerte
Respuesta
1
El tema de los compiladodes de C es que no tienes muchas herramientas para gestionar las interrupciones de manera más o menos fácil. En general lo que se recomienda es programar la rutina de atencio de interrucciones e asmebler, no es tan difícil ya que en las hojas de datos de los pic esta escrita. De cualquier manera, seria interesante saber con que pic estas trabajando y que interruccion quieres usar. ¿O sea si es por reloj o por cambio en el "int" o en un puerto completo?.
Respuesta
1
¿Con Cuál de todas las familias de PIC estas trabajando? No es lo mismo trabajar con la familia 16F8X que con la 18F8X

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas