Página 1 de 1

recebimento serial bit a bit

MensagemEnviado: 26 Jan 2011 08:59
por cortex
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?

MensagemEnviado: 26 Jan 2011 10:31
por vtrx
Qual linguagem de programação e oque voce quer fazer na verdade?

MensagemEnviado: 26 Jan 2011 13:01
por marcelo campos
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


MensagemEnviado: 30 Jan 2011 22:52
por cortex
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!

MensagemEnviado: 31 Jan 2011 13:34
por chrdcv
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

MensagemEnviado: 01 Fev 2011 08:02
por cortex
valeu chrdcv!!