Programando modulo sci microcontrolador QE128

#1
Hola A todos.
Requiero realizar una comunicacion serial entre microcontrolador y labview. Uso el microcontrolador QE128. La transmision funcionó bien, sólo usé ésto:
void TX(byte dato){
SCI1D=dato;
while(!SCI1S1_TDRE){
}
y sólo debo llamar TX para enviar el caracter que desee.
Pero mi problema está en la recepción.
No sé bien que pasa. Estoy haciendo unas interrupciones. en dichas interrupciones dependiendo del valor que se lee en el buffer se activa o desactiva una bandera. Algo así como esto:
SCI1S1_RDRF = 0; // Receive interrupt disable
if (SCI1D=='1'){
if(flag==0){
ON=1;
}
}
else
{flag=0};
luego de eso, dentro del main principal llamo dichas bandera y condiciono a que segun el estado de éstas suceda algo. La cuestion es que llegado cierto momento, con ciertos estados de las banderas se debe empezar a transmitir... Pero ésto no sucede.se queda alli como esperando a recibir más datos....

Y bueno mi sistemas es muy complejo de sincronizar, dado que lo que está en labview lo manejará un usuario entonces en cualquier moento pueden llegar datos

La transmision sola( sin programar la recepcion) funciona bien
Ya al programarlo de recepción , pues la recepción por momentos no funciona bien y la transmision deja de funcionar. Qué puedo hacer?.

Espero me puedan ayudar
Gracias
 
Arriba