me ocurre un problema con la interrupcion INT_RDA en CCS:
1. inicializo el micro, le pongo disable_interrupts(int_rda), muestro por el LCD un par de mensajes, y luego enable_interrupts(int_rda).
Si en el momento de los mensajes (con disable rda) recibo una transmision serie ya no funciona el puerto serie en todo el programa.
2. si dejo la interrupcion enable desde el principio del programa pero entre mensaje y mensaje hago un delay_ms(2000) y en esos delays recibo una trama por serie, tambien se queda sin funcionar el serie en el resto del programa.
3. si dejo interrupcion rda enable desde el principio y hago un bucle do while despues de cada mensaje (ya que tengo un timer de segundos) y en ese bucle do-while recibo una trama, esta si la lee y funciona ok el programa.
4. si deshabilito la interrupcion rda desde el cominzo, hago envio lcd los 2 mensajes con retardo do-while y recibo trama, activo interrupcion rda, ya no hace nada.
5. deshabilito interrupcion rda, envio trama, la habilito sin delays ni nada y se queda sin funcionar en el resto del programa.
alguien sabe porque solo me funciona en el modo 3?
pd: parece ser que no me funciona el disable_interrupts(int_rda), ya que si lo tengo deshabilitado y tengo desde el comienzo del programa el pin de recepcion como entrada no deberia de pasar nada no? o es porque configuras #use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7) //Configuracion RS232 desde el comienzo del programa?