serial help

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

serial help

Mensagempor anderson » 22 Mai 2008 19:22

all, estou implementandp comunicaçao serial no pic 16f677
isso estou fazendo usando #use rs232 no ccs

naum consigo fazer que o micro fique parando ate que eu receba algo na serial, por favor me ajude

pensei que fosse assim: dado_rx=getc();
mas ele sai mesmo sem receber nada, como é para ficar nessa instruçao ate que receba algo na serial (essa serial é por soft e naum hard)
anderson
Bit
 
Mensagens: 18
Registrado em: 17 Nov 2006 16:16
Localização: LIMEIRA

Mensagempor fabim » 23 Mai 2008 08:06

bom se é por soft..
Configure o RB0 com interrupção em borda de descida, e olhe para ele como RX da 232.

No interrupt, voce testa o flag referente a ele.
Foi interrupt /:?
X = getc();

fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor anderson » 23 Mai 2008 08:45

sim mas a comunicaçao ja funciona tanto para rx como tx
usei assim: #use rs232(baud=4800, xmit=PIN_A0, rcv=PIN_A1, force_sw)

eu fiz um arranjo mas naum sei se funciona bem

dado_rx=0;
while(!dado_rx){
dado_rx=getc();
}

valew
anderson
Bit
 
Mensagens: 18
Registrado em: 17 Nov 2006 16:16
Localização: LIMEIRA

Mensagempor fabim » 23 Mai 2008 08:56

da pra escrever em pascal ?rsrs

cara, no init do RS232, configure o RX como RB0, a não ser que queira receber não apenas um byte mais um frame com X bytes.

No pascal
USART_RECEIVE_TEXT(numero bytes, tempo de estouro, string[100]);

Agora essa tranqueira de CCS nem sei como funfa, estou apenas te dando uma idéia.

FAbim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor anderson » 23 Mai 2008 09:14

em pascal sou eu que naum sei, e outra ja estou com uns 80% prontu

sera que alguem manja de GETC();?!?!

gratw
anderson
Bit
 
Mensagens: 18
Registrado em: 17 Nov 2006 16:16
Localização: LIMEIRA

Mensagempor Paulo_P » 23 Mai 2008 12:56

Veja os exemplos que vem com o C CCS:

>> EX_SISR.C
>> EX_TGETC.C

Ai é só adaptar para seu programa, não tem erro.

Boa sorte,

Paulo
ppap@translate.com.br
Paulo_P
Bit
 
Mensagens: 23
Registrado em: 24 Mar 2007 14:31
Localização: São Paulo (capital)

Mensagempor ze » 23 Mai 2008 13:34

amigo que tal se esmiuçasse (1ª vez que escrevo isso!) como que o ccs (éca) gera uma serial por sw? talvez fique + fácil de criar sua própria rotina (otimizada). Ele deve usar o princípio bitbang. Google isso.
Num pode usar um pic com serial de VERDADE?
mas pra ficar parado na função basta "while(RB0)" p.ex. em seguida seu getc(). não aconselho: TRAVA tudo se sem sinal. com interrupt pode ser melhor.
abrç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor anderson » 23 Mai 2008 14:04

blz...deu certo e esse exemplo caiu bem porque tem timeout
anderson
Bit
 
Mensagens: 18
Registrado em: 17 Nov 2006 16:16
Localização: LIMEIRA


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x