recebimento serial bit a bit

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

recebimento serial bit a bit

Mensagempor cortex » 26 Jan 2011 08:59

como faço para ler bit a bit o que estou recebendo da serial? no caso estou recebendo um pacote mas meu pic só pega o segundo bit do pacote, como faço para analizar bit a bit do pacote?
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor vtrx » 26 Jan 2011 10:31

Qual linguagem de programação e oque voce quer fazer na verdade?
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor marcelo campos » 26 Jan 2011 13:01

pra receber de serial 4800bps

Código: Selecionar todos
LE_SERIAL
   BTFSC   PORTA,SER_IN
   GOTO   LE_SERIAL
   MOVLW   08
   MOVWF   SER_CONT
   CLRF   SERIAL_REG
   
   MOVLW   D'09'         ;DELAY DE  START BIT
   MOVWF   REG_DELAY1
DELAY_ST         
   DECFSZ   REG_DELAY1,F
   GOTO   DELAY_ST

ESPERA
   CALL   DELAY_SERIAL
   BCF   STATUS,CARRY
   RRF   SERIAL_REG,F
   BTFSC   PORTA,SER_IN
   BSF   SERIAL_REG,7
   DECFSZ   SER_CONT,F
   GOTO   ESPERA

   MOVF   SERIAL_REG,W

DELAY_SERIAL
   MOVLW   D'65'         ;DELAY DE  ~208 uSEG
   MOVWF   REG_DELAY1     ;xtal 4MHz
DELAY_SERIAL_2         
   DECFSZ   REG_DELAY1,F
   GOTO   DELAY_SERIAL_2
   RETURN

marcelo campos
Word
 
Mensagens: 648
Registrado em: 08 Ago 2009 08:37

Mensagempor cortex » 30 Jan 2011 22:52

Olá vtrx, marcelo!

estou programando em C, e estou estudando o protocolo modbus, tenho um pic como mudbus slave e consigo ler os hold registes, acionar coils... mas na questão tenho um pic simulado no proteus e no proteus mesmo fico analisando o que chega do registrador da seria do pic e ele só consegue identificar o segundo bite, no caso eu quero é fazer o endereçamento para varios coils, mas não sei como fazer o pic interpretar o endereço modbus que está sendo requisitado, para analisar o pedido e acionar o coil correspondente!
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32

Mensagempor chrdcv » 31 Jan 2011 13:34

Saudações!

Dê uma olhada no post que respondi: http://asm51.eng.br/phpBB/viewtopic.php?t=11141 tem uma seção em que descrevo sobre o procedimento para uma serial half-duplex emulada (o que condiz com o teu caso, pois necessita de um "driver" MODBUS escravo). Como poderá perceber, será necessário o uso de um módulo de captura, um módulo de timer e um pino de interrupção por transição para que seja realizada a emulação da serial. Importante observar o tempo "gasto" no atenduimento das interrupções, para que não haja overhead da CPU...

chrdcv
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor cortex » 01 Fev 2011 08:02

valeu chrdcv!!
cortex
Byte
 
Mensagens: 121
Registrado em: 27 Out 2010 10:32


Voltar para PIC

Quem está online

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

x