Ajuda [ serial ]

Programação Visual Basic

Moderadores: 51, guest2003

Ajuda [ serial ]

Mensagempor Diego_Oliveira » 23 Set 2008 10:10

http://www.innovatic.dk/knowledg/Serial ... ialCOM.htm

Estou tendo dificuldades para modificar o programa fonecido por este site, ele mostra os caracteres em HEX, mas eu gostaria de velos em ASCII (como se fosse o Hiperterminal).

Alguem poderia me ajudar!!

Aguardo retorno!!!
Avatar do usuário
Diego_Oliveira
Nibble
 
Mensagens: 79
Registrado em: 05 Abr 2008 15:18
Localização: Rio Grande do Sul

Mensagempor joao » 23 Set 2008 10:38

Ola Diego,

Olha, abrindo o código fonte, eu sei que vc precisa mudar na função Receiver.

existe este código lá:
Código: Selecionar todos
            RXByte = COMPort.ReadByte
            Nibble = (RXByte >> 4) + 48          ' Convert received byte to Hex
            If Nibble > 57 Then
                Nibble = Nibble + 7
            End If
            RXArray(I) = Chr(Nibble)
            I = I + 1
            Nibble = (RXByte And 15) + 48
            If Nibble > 57 Then
                Nibble = Nibble + 7
            End If
            RXArray(I) = Chr(Nibble)
            I = I + 1
            RXArray(I) = " "
            I = I + 1


Eu nunca mexi com VB, então não sei como usa-lo.
Tente fazer algo deste tipo(Mude o código acima por este aqui em baixo) e veja se compila/roda:
Código: Selecionar todos
   RXArray(I) = Chr(COMPort.ReadByte)
            I = I + 1
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor Diego_Oliveira » 23 Set 2008 11:03

Você quaseresolveu meu problema....

Olha so estou usando um pic e o compilador CCS, eu mando uma frase qualquer pela serial no caso "DIEGO BITTENCOURT DE OLIVEIRA", no terminal do CCS recebe certo, neste programa agora que fiz a alteração sugerida por você ele recebe isto "W«Å…ý{mWWucyaUW¿wu¿agmSum[}".

Eis a questão.
Avatar do usuário
Diego_Oliveira
Nibble
 
Mensagens: 79
Registrado em: 05 Abr 2008 15:18
Localização: Rio Grande do Sul

Mensagempor joao » 23 Set 2008 11:10

Hmmm...

Foi o que eu lhe disse, não mexo com VB.
Mas tenta mais uma coisa:

De:
Código: Selecionar todos
RXArray(I) = Chr(COMPort.ReadByte)

Para:
Código: Selecionar todos
RXArray(I) = COMPort.ReadByte


Viu que eu tirei o Chr?

Quem sabe vc já esteja recebendo em Chr...
É um palpite.

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor joao » 23 Set 2008 11:24

Me lembrei de outra coisa que pode ajudar...
Rode o programa em modo debug e veja o valor que você está recebendo no COMPort.ReadByte
Dai podemos verificar o que está faltando para aparecer a letra correta na sua tela.

[]'s
Avatar do usuário
joao
Byte
 
Mensagens: 463
Registrado em: 17 Out 2006 08:21

Mensagempor mamga » 23 Set 2008 11:40

Pode ser também alguma incompatibilidade entre o Baud Rate configurado no PIC e o Baud da Porta do PC. Já tive problemas assim em que recebia um "lixo" ao invés do texto esperado, depois de procurar um bom tempo erros no meu codigo fui descobrir que na verdade o erro estava na velocidade.
mamga
Nibble
 
Mensagens: 74
Registrado em: 28 Dez 2006 13:04

Mensagempor otavio luiz » 23 Set 2008 12:43

É só um chute mas voce colocou um max232 entre o pic e o pc??? O sinal que sai do pic tem que chegar invertido a entrada do pc por isso usa-se um max232 alem de mudar os niveis de tensão do dado, checa tambem o baud rate e veja se esta tudo certo.
Lembre-se, zona de Fresnel não é nenhuma franquia de puteiro.
Avatar do usuário
otavio luiz
Byte
 
Mensagens: 257
Registrado em: 11 Out 2006 13:56
Localização: Barretos - SP, terra de Peão

Mensagempor Diego_Oliveira » 23 Set 2008 14:01

Já descobri pessoal.

Fica ruin pedir pro estagiario fazer um cabo, mesmo com o desenho eles conseguem errar.

Código: Selecionar todos
RXArray(I) = Chr(COMPort.ReadByte)


Com esta rotina funciona tudo OK.

Agora con este programa funcinando da maneira que esta comunicar um microcontrolador com o PC.

Muito obrigado pessoal!
Avatar do usuário
Diego_Oliveira
Nibble
 
Mensagens: 79
Registrado em: 05 Abr 2008 15:18
Localização: Rio Grande do Sul


Voltar para Visual Basic

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitantes

x