Buenos días:
Estoy realizando el proyecto final de carrera, que va sobre adaptar el protoclo DMX a la Domotica... y es que tengo un problema con las interrupciones. Estoy utilizando el CCS C y las interrupciones int_rda para la usart y la int_ext2 para un sensor de presencia. La cosa es que la int_ext2 tiene que estar activa todo el tiempo y la int_rda tambien.. pero como la int_rda me relentiza el codigo bastante, hay en algunas funciones que las pongo como unas secciones críticas es decir...
disable_interrupts(int_rda);
funcion();
enable_interrupts(int_rda);
la int_ext2 no la toco para nada.. pero si en esa función no hago que se muestre un mensaje en el lcd no funciona.. pero claro ese mensaje no lo puedo poner ahi porque se me estaría regenerando todo el rato y me dejaría la lcd inutilizada mientras el sensor de presencia está siendo utilizado... Otra cosa que me ocurre es que sin poner el mensaje en el LCD, en ese momento la int_ext2 no salta... pero salta cuando hago en otra parte del codigo un:
disable_interrupts(int_rda);
//codigo
enable_interrupts(int_rda);
¿Por qué pasa esto?¿al desactivar la int_rda, se desactiva la int_ext2?, ¿Alguien sabe como puedo solucionarlo? Decir que al inicio del programa tengo el
enable_interrupts(global);
enable_interrupts(int_rda);
enable_interrupts(int_ext2);
Saludos y Muxas Gracias!!