Página 1 de 1

UART1_Read_Text MIKROBASIC check-out ??????????????//

MensagemEnviado: 22 Jan 2013 09:54
por syscom1
Bom dia. no compilador MIkrobasicpro V5.4 tem esta função que permite um pacote de byte serialmente ele faz um cheque de uma palavra conhecida de um tamanho especifico para validar o pacote. EX: UART1_Read_Text(txt_recebido ,"OK", 7), ele fica aqui esperando receber 7 bytes e a palavra OK, para validar o pacote e colocar o dado recebido na variável txt_recebido. A dificuldade é: e se por um erro não chegar os 7 bytes ele vai ficar aqui parado, como faço para fazer um check out, para não travar o meu programa por um erro de comunicação serial? Obrigado.

PIc 18f4550

MensagemEnviado: 25 Jan 2013 17:58
por tcpipchip
Vais ter que reescrever....e ler byte a byte e implementar timeout...

MensagemEnviado: 28 Jan 2013 06:59
por syscom1
Bom dia e obrigado pela resposta.
Vamos ver se eu entendi.
Seria algo assim: o meu PC me envia os dados e fica esperando um retorno do PIC por um determinado tempo, se não chegar este retorno para o PC este, começa a enviar um byte de cada vez a fim de destravar o hardware? Seria isso?

MensagemEnviado: 28 Jan 2013 19:48
por andre_luis
Pessoalmente, em se tratando de controle de fluxo de dados, eu prefiro o fazer pelo envio byte-a-byte, ao invéz do envio de um pacote completo.

Na biblioteca padrão, por exemplo prefiro manipular o putc() ao printf().


+++

MensagemEnviado: 29 Jan 2013 07:48
por syscom1
Entendi amigo.
Muito obrigado pela ajuda.