Software e Hardware para uC PIC
Moderadores: andre_luis, 51, guest2003, Renie
por David Henrique » 08 Jul 2009 08:49
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;
}
-
David Henrique
- Nibble
-
- Mensagens: 68
- Registrado em: 17 Jun 2008 08:05
por tcpipchip » 08 Jul 2009 10:54
voce faz consistencia do P ? (index out of range para matriz), ou seja, manda # pela serial para inicializa-lo ?
Qual o tamanho de P?
-

tcpipchip
- Dword
-
- Mensagens: 6560
- Registrado em: 11 Out 2006 22:32
- Localização: TCPIPCHIPizinho!
por David Henrique » 08 Jul 2009 11:02
eU SEMPRE MANDO UM FRAME DESTA FORMA #FD '250' 13.
mas não havia pensado nisto verificar também o tamanho de P...
-
David Henrique
- Nibble
-
- Mensagens: 68
- Registrado em: 17 Jun 2008 08:05
por tcpipchip » 09 Jul 2009 19:02
e ai ????
-

tcpipchip
- Dword
-
- Mensagens: 6560
- Registrado em: 11 Out 2006 22:32
- Localização: TCPIPCHIPizinho!
Voltar para PIC
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante