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

5 Respuestas

2.050 pts. Desarrollo de Software Embedded Systems (MCU''s and C...
72.175 pts. Más de 10 añosdesarrollando equipos electrónicos con...
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
6.950 pts.
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?.
116.475 pts. Desarrollador web, especializado en PHP, AJAX, HTML, CSS
¿Con Cuál de todas las familias de PIC estas trabajando? No es lo mismo trabajar con la familia 16F8X que con la 18F8X
15.625 pts. Experiencia en informatica y electronica
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas