Página 1 de 1

RS232 TRAVA!!!

MensagemEnviado: 08 Jul 2009 08:49
por David Henrique
estou lendo alguns dados pela porta serial do PIC e em alguns casos a porta trava. Tem um flag que reseta a porta alguém sabe como fazer? Estou usando o seguinte código no CCS:

Código: Selecionar todos

#priority rda


#int_RDA
RDA_isr()
{Int C;
 C=GETC();
 CLEAR_INTERRUPT(INT_RDA);
 
 IF ( C==17 ) {XON=1;XOFF=0;}
 ELSE IF ( C==19 ) {XON=0;XOFF=1;}
      ELSE {
             IF ( C=='#' ) {P=0;}
             IF ( C==13  ) {FLAG_RS232=1;}
             Dado[P++]=C;
             TAM_BUFFER++;
           }

 //WATCH_DOG=0;
 WATCH_DOG_SLEEP=0;
 WATCH_RS232=0;
   
 
}

MensagemEnviado: 08 Jul 2009 10:54
por tcpipchip
voce faz consistencia do P ? (index out of range para matriz), ou seja, manda # pela serial para inicializa-lo ?
Qual o tamanho de P?

MensagemEnviado: 08 Jul 2009 11:02
por David Henrique
eU SEMPRE MANDO UM FRAME DESTA FORMA #FD '250' 13.
mas não havia pensado nisto verificar também o tamanho de P...

MensagemEnviado: 09 Jul 2009 19:02
por tcpipchip
e ai ????