Autor Tema: Comuncacion PIC a PIC por RS232  (Leído 1641 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado nyquist2

  • PIC10
  • *
  • Mensajes: 19
Comuncacion PIC a PIC por RS232
« en: 05 de Enero de 2006, 08:14:00 »
Hola nuevamente,

Me encuentro ante un pequeño(Llorando ) problema. Tengo q enviar un codigo entre PICs si o si mediante RS232 (aunque se q seria mas logico usar IC2). El codigo consiste en palabras en hexa (o decimal), de hasta 4 bytes de longitud.
En otros post vi q usaban las fuciones putc(), printf(), etc. pero solo sirve para codgo ASCII, no?
Hasta ahora, cuando mandaba o recivia algo entreba en un loop q chequeba los flags para ver si habia terminado de mandar (o recivir). Los programitas funcionan bien hasta cierto punto en el que el micro q denomino master deja de recibir. Por supuesto ya verifique q la señal llega correctamente, pero los flags q verifico en el soft parecen no ser afectados.
Aca les mando las subrutinas de recepcion y transmision (estoy usando el entorno del MLAB):

void transmit (int palabra)        //Transmite una palabra por el puerto serie
{
   TXREG = palabra;
   while(TXSTAbits.TRMT==0)
   {}
}

int recieve ()         //Recibe una palabra del puerto serie
{
   int a=0;

   RCSTA = 0b10000000;
   RCSTA = 0b10010000;
      while(PIR1bits.RCIF==0)
   {
      a++;
      if (a==10000)   //time out trucho a los 0.5 seg
      {
         return 0;  
      }
   }
   return  RCREG;
}


Supongo q deberia manejar el tema por interrupciones, no? Pero sigo con la duda de q estoy haciendo mal, y por otro lado si tengo q mandar y recibir byte por byte. Si alguien tiene alguna sugerencia o rutina q me ayude seran muy bien recivida.

Muchas gracias, Nyquist.