jul
02
2010

Comunicação Serial com Delphi 2010

Cabo Serial

Esta dica é para quem tem interesse em desenvolver aplicações para automação industrial que exigem comunicação pela porta Serial para controlar ou interagir com equipamentos.

O Delphi é um ambiente de desenvolvimento no mais simples estilo arrastar e soltar orientado a eventos. É uma ótima linguagem pra quem está começando e muito utilizada no desenvolvimento de aplicações comerciais no Brasil. Uma de suas principais vantagens é a possibilidade de expandir suas características e funcionalidades através de componentes de terceiros. Muitos dos quais são fornecidos gratuitamente e com código fonte, como é o caso do TComPort desenvolvido por Dejan Crnila. Seus arquivos podem ser baixados aqui: http://sourceforge.net/projects/comport/

Compatível com as versões 7, 2007, 2009 e 2010 do Delphi, o TComPort possibilita o desenvolvedor a criar aplicações que necessitam comunicar-se através da porta Serial de maneira rápida de simples. Depois de instalado, sua utilização se resume em praticamente duas partes. O método ComPort1.WriteStr e o evento ComPort1RxChar.

Enviando Dados:

Para enviar dados pela porta Serial, basta passar uma String com o conteúdo desejado para o método WriteStr conforme o exemplo abaixo disparado durante um clique em um botão:


procedure TfrmTeste.Button1Click(Sender: TObject);

begin

if ComPort1.Connected = True then // Verifica se a porta esta conectada

begin

ComPort1.WriteStr(Edit1.Text); // Enviando dados pela Serial

Edit1.Text := '';

end;

end;

Recebendo Dados:

Para receber dados pela porta Serial, basta utilizar o evento OnRxChar que é acionado automaticamente toda vez que alguma informação chega à porta Serial. Veja um exemplo abaixo:


procedure TfrmTeste.ComPort1RxChar(Sender: TObject; Count: Integer);

var

Buffer : AnsiString;

Contador: Integer;

begin

// Define o valor do Time Out

Sleep(500);

// Confere o número total de bytes dentro do pacote enviado

Contador := ComPort1.InputCount;

// Lê o pacote enviado e armazena no Buffer

ComPort1.ReadStr(Buffer, Contador);

// Alimenta um campo Memo com os dados recebidos

Memo1.Lines.Add((Buffer);

end;

Uma observação importante é o uso da função Sleep no começo do evento. Como a comunicação Serial é muito mais lenta que o processamento do computador, é importante ajustar o valor do Sleep para que de tempo de todos os dados enviados sejam recebidos pelo computador. A função Sleep faz o computador aguardar o tempo estipulado em milissegundos antes de continuar na próxima linha.

Viu como é simples enviar e receber dados pela porta Serial utilizando o Delphi? Agora com está base você pode evoluir com o código de acordo com as necessidades da sua aplicação.

Últimos 5 artigos de Fernando Fonte

Fernando Fonte

De Campinas-SP, bacharel em Ciência da Computação. Atua como Analista Programador em uma empresa de tecnologia, desenvolvendo softwares para comunicação e controle dos equipamentos produzidos e de organização dos processos internos. Possui conhecimento em sistemas operacionais Windows, programação Delphi e Visual Basic 6 e Banco de Dados SQL Server. Atualmente estuda Java, .NET, Flex Builder e Android. Tem interesse em Jogos, Celulares, Smartphones, Notebooks e tudo que for relacionado a tecnologia. Fundador deste site, convidou amigos para lhe ajudar com este projeto.

Website - Twitter - Facebook - More Posts

55 Comentários »

  • Rodrigo Batata disse:

    Parabens
    adorei o post

    o site ta cada vez melhor sempre q posso do uma lida e aprendo muito com os conteudos.

    Responder

  • André Roberto disse:

    Muito bom o post. Porém tenho uma dúvida e seria grato se fosse possível você me ajudar.
    Tenho o Delphi 2010 instalado, porém não consigo instalar o Comport. Você poderia me dar algumas dicas? Desde já agradeço.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    André,

    Você precisa baixar o componente e descompactar o conteúdo do arquivo zipado para uma pasta.

    Vá até o caminho “TComPort4Beta_Delphi2010\comportlib4\source” e abra o projeto DsgnCPort14.dpk

    Em seguida, no File Explorer do Delphi aparecerá uma estrutura de arquivos começando por “DsgnCPort14.bpl”. Clique com o botão direito em cima deste nome e em seguida clique em “Build”. Espere o projeto ser compilado e construído. Repita o clique com o botão direito e agora escolha “Install”.

    Qualquer dúvida volte a escrever aqui. Abraço!

    Responder


  • André Roberto disse:

    Consegui instalar, porém instalei o DsgnCPort12.dpk no 14 continha um erro de falta do arquivo .res. Ainda vale ressaltar a necesidade de acrescentar o diretório do componente no Delphi. Agradeço a ajuda e a iniciativa, são pessoas que compartilham o conhecimento que fazem a diferença. Até logo. Abraços.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    André, o arquivo .RES é criado quando você compila o projeto pela primeira vez. Depois funciona normalmente. Mas se com a versão 12 funcionou, tranquilo. ;-)

    Responder


  • ALVARO disse:

    Ola amigos

    Gostaria de saber que componente devo utilizar para comunicação serial (por exemplo – comport) em delphi 6 e windows 7.
    Obrigado. Aguardo retorno…importante….tese de mestrado.
    Alvaro – Engenheiro Biomedico

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Alvaro, as versões anteriores do Comport funcionam com o Delphi 6. Veja se a 3.0 ou 3.1 serve pra você: http://sourceforge.net/projects/comport/files/comport/

    Responder

    ALVARO Respondeu:

    Ola Fernando

    Desculpe-me mais uma vez… a duvida é a seguinte,:
    em comunicações seriais utilizando o componente
    COMPORT DA WINSOFT, funciona normalmente em SISTE-
    MA WINDOWS XP E DELPHI 6… nao funcionou em WIN-
    DOWS 7 E DELPHI 6.
    (37) 8815-3553 ME LIGUE QUE RETORNO A LIGAÇÃO E
    EXPLICO COM MAIORES DETALHES. OBRIGADO

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Alvaro,

    Imagino que o problema que você está tendo é com relação ao Delphi 6 com o Windows 7. Eles não são 100% compatíveis já que o Delphi 6 é muito antigo. Não tenho este ambiente aqui e por isso não posso lhe ajudar. Verifiquei neste link que muitas pessoas tem vários problemas tentando rodar o Delphi 6 no Windows 7: https://forums.embarcadero.com/thread.jspa?threadID=29394

    Uma possível solução seria usar o modo de compatibilidade com o XP (Virtual) disponível nas versões Professional e Ultimate do Windows 7.




  • mateus disse:

    qual é o serial do delph 2010

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Matheus, o Delphi 2010 é um aplicativo pago e precisa ser ativado junto ao fabricante para ser utilizado por mais de 30 dias.

    Responder


  • Sergio disse:

    Ola gostaria de saber se é possivel a utilização do TComPort com Lazarus em uma aplicação para Linux.
    Se sim como poderis implementar meu codigo??

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Sérgio,

    Desconheço esse ambiente de desenvolvimento em Pascal para Linux. Vou ficar te devendo essa.

    Responder


  • Leonardo disse:

    Você poderia me enviar um tutorial de como instalar o comport no Delphi 2007. O meu e-mail é escolacetec@hotmail.com

    Atenciosamente Leonardo.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Leonardo, vou ver se escrevo algum artigo demostrando como instalar componentes no Delphi. Fique de olho no site que em breve coloco alguma coisa.

    Responder


  • WRangel disse:

    Amigo.. Estou tentando fazer a comunicação com este componente, mas por exemplo envio uma unica msg uma vez, e se tento enviar outra o aplicativo da um erro e trava??
    Vc tem algum programinha de teste que mostra como usá-lo?

    Valew

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Como você está enviando e qual erro que dá? Eu deu o exemplo neste artigo mesmo de como usar. Repare na linha 9 do primeiro exemplo: “ComPort1.WriteStr(Edit1.Text);” É desta forma que você envia os dados. Claro que antes você precisa configurar no componente as propriedades, como velocidades de transmissão, bits, etc e não esquecer de abrir a porta antes de enviar usando:
    try
    ComPort1.Open;
    except on E: Exception do
    ShowMessage(‘Problema ao conectar à porta COM. Verifique se algum programa está utilizando esta porta, feche-o e tente novamente.’);
    end;

    Responder


  • Everton Duarte disse:

    Ola Fernando
    Parabéns cara, gostei do POST.

    Quero sabe como faço para mandar apenas um sinal pela porta COM de ligado/desligado. tipo, para acender e apagar um LUZ ..

    é o mesmo principio ou tenho qe adaptar ??

    Obrigado.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Everton, o princípio é o mesmo. O que muda é o lado do hardware, ou seja, o que o equipamento espera receber para acender ou apagar a luz.

    Por exemplo, você pode enviar ComPort1.WriteStr(‘Ligado’); para acender e ComPort1.WriteStr(‘Desligado’); para apagar. Só que o equipamento tem que saber o que fazer quando chegar “Ligado” e “Desligado”.

    Responder


  • Osmar disse:

    Estou testando esta dica, e esta dando o seguinte erro
    ‘Property StoredProps dois not exist’, o fiz de errado
    Obrigado pela atenção

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Osmar, você pode colar o seu código aqui? Em que momento acontece o erro?

    Responder

    Osmar Respondeu:

    Muito Obrigado pela atenção, eu já corrigi, foi so colocar o caminho do componente no projeto…
    Valeu pela atenção

    Responder



  • Dêmis Carlos disse:

    Estou precisando que meu sistema faça a leitura de uma balança rodoviária através da porta serial, será possível através do componente ComPort??? Se sim, alguém poderia me dar uma dica?

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Oi Dêmis, é possível sim, porém você precisa saber o protocolo que esta balança envia via porta serial. Este protocolo você consegue com o fabricante da balança.

    Depois é só monitorar o evento OnRxChar do ComPort da seguinte forma:

    procedure TSeuForm.ComPort1RxChar(Sender: TObject; Count: Integer);
    var
    Contador: Integer;
    Buffer: AnsiString;
    begin
    // Define o valor do Time Out
    Sleep(50);

    // Confere o número total de bytes dentro do pacote enviado
    Contador := ComPort1.InputCount;
    // Lê o pacote enviado e armazena no Buffer
    ComPort1.ReadStr(Buffer, Contador);
    end;

    Responder

    Dêmis Carlos Respondeu:

    Certo. Mas onde vou usar as informações do fabricante em relação a esse protocolo, para que serve saber essa informação??? (Desculpe, ainda não trabalhei com manipulacao direta com hardware, exceto impressoras)

    Obrigado

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Você não falou que precisa ler os dados de uma balança? Então, estes dados vem em forma de um protocolo pré estabelecido pelo fabricante da balança.

    Por exemplo, quando um caminhão passar nesta balança, ela irá disparar pela porta serial o peso num protocolo de texto. Algo como isto:
    MARCADABALANCA2000131020110900

    Lembrando que o que eu passei é só um exemplo. No protocolo do fabricante, diz que as 14 primeiras posições são a sua marca, do 15 ao 18 o peso, do 19 ao 26 a data e do 27 ao 30 a hora, ficando assim:

    MARCADABALANCA 2000 13102011 0900

    Ai você pega estes valores e usa no seu software.

    Pra começar, você precisa saber qual balança que é, o fabricante, e entrar em contato com ele pra saber o protocolo que ela joga pela porta serial.


    Dêmis Carlos Respondeu:

    Huuuummm, certo Fernando.Cara muito obrigado pelas dicas.Hoje vou na empresa ver como o sitema exemplo, q vc mandou, vai se comportar. Cara, essas dicas acredito que são fundamentais, obrigado msm. Logo logo trago novidades. Abç




  • Vinicius Ramos disse:

    Ola,
    Quando crio esse exemplo seu com um placa q tenho, ele automaticamente cria na USES CPort, CPortCtl;
    e ao executar da erro nessa linha =s
    Sou novo nessa area e gostaria de saber o motivo
    Agradeço.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Deu algum problema na instalação do componente. Verifica se ele esta instalado corretamente. Se estiver, jogue estes arquivos da pasta do TComPort para a pasta do seu projeto e importe eles para o projeto em si.

    Responder


  • Giancarlo disse:

    Olá Fernando. Obrigado pela explicação deste componente.

    Testei o código que você explicou, mas nenhuma linha aparece no Memo1.

    Se eu tento com um “showmessage( Buffer )”, aparece uma janela em branco.

    Enretanto, se eu faço “showmessage( inttostr( contador ) )” o programa mostrará várias mensagens com o tamanho de cada buffer.

    O que estou fazendo de errado?

    Valeu.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    É importante ressaltar que o buffer só é preenchido pelo componente no evento ComPort1RxChar.

    Responder


  • Dêmis Carlos disse:

    Ae galera. Veja se alguem pode me ajudar: estou testando o funcionamento desse componente com o uso de um mouse serial só para ver como vai se comportar o programinha.Porém, quando executo e mando abrir

    if ComPort1.Connected = True then
    begin
    ComPort1.WriteStr(Edit1.Text);
    end

    dá o seguinte erro: UNABLE TO OPEN COM PORT (WIN ERROR CODE: 2), onde estou errando?!?!

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Olha, não tenho certeza, mas acho que com um mouse serial você não vai conseguir testar. O mouse serial quando conectador é automaticamente reconhecido pelo Windows que abre a porta COM onde ele está ligado automaticamente. Quando você tenta abrir a mesma porta COM no seu programa, ele da erro porque a tal porta já está em uso, no caso, pelo Windows com o Mouse Serial. Uma forma de testar uma porta serial para desenvolvimento de software sem um hardware do outro lado é comprar um conector serial DB9 e fechar curto entre os pinos 2 e 3 (Rx e Tx). Assim, tudo que você enviar pelo seu software irá receber de volta nele mesmo, monitorando o evento ComPort1RxChar.

    Responder

    Dêmis Carlos Respondeu:

    Huuumm, certo.Mas explique um pouco mais sobre esse conector serial com curto fechado.Ainda nao trabalhei com comunicacao com hardwares antes. Abç

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Este conector: http://images.tray.com.br/img/img_prod/261703/180_1108_1.jpg

    Só soltar um fio atras dele deixando em curto os pinos 2 e 3. Joga no Google “Conector Serial DB9″, tem bastante coisa sobre.




  • Dêmis Carlos disse:

    Cara, e se eu testar esse programa com um leitor de codigo de barras serial, será q vai funcionar???

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Acho que também não funciona. Estes tipos de dispositivos, como mouse serial, leitores e etc são ativos, ou seja, eles abrem a conexão com a porta com. Você precisa de um dispositivo passivo, ou seja, que fica conectado e só responde quando seu software abre a porta e começa a enviar dados. Se você tiver uma TV LCD na sua casa pode tentar usar ela. A maioria hoje tem porta serial para automação residencial e da pra controlar canais, volume entre outras funções. Só olhar o manual delas.

    Responder

    Dêmis Carlos Respondeu:

    Huuuuum, boa dica Fernando. Meu monitor aqui LCD é tv tbm e tem conexao serial. Vou providenciar o cabo. Vlw msm. Abç

    Responder



  • marinilson disse:

    Cara… Ja li muito forum e muitos post….. mas jamais vi alguem que se dedicasse tanto como vc fez com esse sua materia … vc respondeu todas as perguntas e ainda mais…. explicou coisas muito detalhadas…. só posso te dizer MEUS PARABENS. Vc representa o espirito da internet que ha muito ja moreu que é: COMPARTILHAR CONHECIMENTO pelo simples prazer de compartilhar. Se vc tiver um tutorial sobre o tcomport do delphi passa ai pra gente.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Obrigado! Mas esta não é uma característica exclusiva minha. Aqui no Dimensão Tech, todos os autores se esforçam o máximo para compartilhar conhecimento. Por isso somos um site diferente dos demais. Sobre ter um tutorial do TComPort, eu não tenho. O que aprendi foi desenvolvendo mesmo.

    Responder


  • PAULO ROBERTO DA SILVA disse:

    Prezado Fernando,

    Parabéns está muito bom o seu blog, estou sando o COMPORT no D7.

    O meu problema é o seguinte preciso ler dados escritos em uma porta serial real, enviados por uma impressora fiscal, por exemplo na COM3, fiz um exemplo de leitura seguindo suas orientações postadas, no evento RxChar, porém como a porta ja está aberta pelo aplicativo da impressora o meu exemplo retorna a mensagem “UNABLE TO OPEN COM PORT (ERROR 5).

    Existe alguma forma para eu ler estes dados abrindo a porta ja em uso pelo aplicativo da impressora ?.

    Aguardo e desde já muito grato pela ajuda.

    Abraços

    Paulo Roberto

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Paulo, se já tem um software e um dispositivo trocando informações pela porta COM, você não consegue abri-la no seu software. Esta é uma característica da porta COM. Se você realmente precisa monitorar os dados que passam ali (entre o software da impressora e ela), você precisa de um programa específico para isto, que trabalhe a nível de driver, espelhando-o. Da uma busca no Google por Serial Monitor. São softwares que quando instalados no Windows mostram os dados enviados e recebidos pela porta COM.

    Responder

    PAULO ROBERTO DA SILVA Respondeu:

    Muito grato Fernando,

    Consegui resolver através do RECURSO SPLITTER DO VIRTUAL SERIAL PORT EMULATOR, o mesmo cria uma porta virtual e conecta a mesma a porta física de forma que os programas podem se conetar a porta virtual e monitorar os dados da porta física vinculada a mesma.

    Muito bom o probrama e free.

    Abraços a todos.

    Responder



  • PAULO ROBERTO DA SILVA disse:

    Fernando,

    Boa tarde só uma dúvida, o delay que é dado na RXCHAR do TComPort, por conta da deferença de velocidades entre o processador e a porta serial, pergunto :

    a) Existe algum parametro de referência para se determinar o valor do delay ?

    b) E comum se perder dados no trafego de portas seriais ?

    Obrigado se puder responder.

    Paulo

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Paulo, não tem um valor certo. No exemplo usei 500 mili no comando Sleep, mas você pode ir aumentando ou baixando o tempo, de acordo com a sua aplicação. Sobre perder dados, não é comum, mas pode acontecer. Normalmente nos protocolos de comunicação serial existe um cálculo de CRC que serve justamente pra saber se o que você recebeu está de acordo com o que realmente era pra ter recebido. Como fazer este cálculo precisa ver no manual do protocolo do dispositivo com o qual você está comunicando.

    Responder


  • Felipe disse:

    Bom dia!

    Eu gostaria de saber como eu faço para ler um telefone na porta serial. Eu utilizei o código conforme este link (http://www.dimensaotech.com/2010/07/comunicacao-serial-com-delphi-2010/) e não funcionou.

    Atenciosamente;

    Felipe Araújo

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Felipe, não é tão simples assim. Você precisa pegar os dados deste telefone, principalmente o protocolo serial que ele usa e ai desenvolver o seu aplicativo pra falar no protocolo que o telefone entenda. Por exemplo, se você ligar ele na porta serial e só ficar ouvindo a porta, você pode não receber nada, talvez porque o telefone está aguardando primeiro você mandar um comando pra ele começar a jogar dados na porta serial. Tudo isto você só vai saber estudando o protocolo do produto.

    Responder

    Felipe Respondeu:

    Bom dia Fernando!

    Agradeço pelas informações. Vou fazer um breve histórico e gostaria que você me ajudasse com mais algumas informações. Eu tenho um sistema em delphi e preciso fazer a interação dele com o sistema de identificação de chamadas, ou seja, tenho o serviço habilitado na linha, tenho o componente TComport, tenho um conversor DTMF/FSK e agora com tudo isso preciso fazer a interação deste para receber os dados pela serial quando por exemplo: Uma pessoa liga para uma lanchonete e imediatamente o sistema capta o telefone e expõe na tela e se caso a pessoa já tiver seus dados cadastrados no estabelecimento ele dá seguimento para se fazer o pedido do cliente e se caso não e abre uma tela permitindo o cadastro do mesmo. Enfim, eu já tenho toda a parte do sistema montado e a única coisa que está faltando é esta interação do sistema com a recepção dos dados. Coloquei o código acima conforme mencionado (procedure TfrmTeste.ComPort1RxChar(Sender: TObject; Count: Integer) e não tive sucesso. Peço a tua ajuda, explique por gentileza, como eu posso fazer a escuta na porta serial quando uma pessoa ligar e eu captar este telefone. Se tiver Msn/e-mail, para que eu possa esclarescer algumas dúvidas em tempo real eu serei mui grato. Obrigado!

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Primeira coisa é pegar o manual deste conversor e ler. Como ele funciona? Assim que recebe uma chamada ele já dispara algo pela porta serial? Ele manda bytes ou ASCII? Você pode abrir o HyperTerminal no PC onde ele está ligado pra ver se chega alguma coisa pela Serial.




  • Felipe disse:

    Boa Tarde Fernando!
    Eu peguei o manual do conversor e li, e no mesmo está escrito que os dados enviados pelo conversor ao computador são em Código ASCII.

    - Dados Técnicos:

    VELOCIDADE (BAUD): … 19200
    BITS DE DADOS: ………… 8
    PARIDADE:…………………. NENHUMA
    STOP BIT: …………………… 1
    DTR*, RD e TD: ……………. SINAL ATIVO: (+3Vcc a +12Vcc)
    SINAL EM REPOUSO (0Vcc a -12Vcc)

    Obs:=Estas informações eu chequei e estão corretas conforme descrito no manual.

    ——————***Capítulo 5 do Manual***——————

    5) FORMATAÇÃO “HEXADECIMAL” (DADOS ENVIADOS ON-LINE) ASSIM QUE
    UMA CHAMADA FOR IDENTIFICADA E RECONHECIDA PELO APARELHO.
    DADOS SERÃO ENVIADOS EM CÓDIGO ASCII AO COMPUTADOR
    (A/B) (x1) (x2) (x3) (x4, x5, x6,….) (E) – comprimento variável

    (A/B):…….. A = Chamada Recebida B = Chamada Efetuada
    (x1):……….. (0 a E) Numero do aparelho (eles podem ser ligados em cascata)
    (x2):……….. (1 a 8) Número da linha telefônica.
    (x3)………… (0 a 9) Para chamadas recebidas significa a categoria do assinante.
    Para chamadas efetuadas significo primeiro numero discado.
    (x4,x5,…)…. (0 a 9) Números do telefone das chamadas.
    (E):………… Final de Telegrama
    EX : Chamada Recebida do numero 04832476868, na linha 3 do primeiro aparelho: “A0314832476868E”

    - Os programas deverão reconhecer o ASCII “A” ou “B” e contar o número de entradas até o final da
    string ou seja, até receber o ASCII “E”.

    - O número telefônico deve ser contado a partir do último número recebido para o primeiro.

    - Assim, os 8 (ou 7) últimos números correspondem ao número telefônico, os 2 anteriores ao código de
    área, e o imediatamente anterior ao código de área, corresponde a categoria do telefone chamador.

    EX : String recebida “A1214832473550E”
    Número telefônico = 32473550 / Código de área = 48 / categoria = 1
    linha 2 do sistema 1 = 11 (6a. linha) / Trata-se de uma chamada recebida = A

    —————————**Fim**————————
    Agora em relação ao HyperTerminal eu não consegui testar ainda, a fim de verificar se está chegando algum dado na porta. Testando e obtendo uma resposta eu te passo. Com relação ao Msn/e-mail você não pode me passar para que eu possa manter contato além do site.

    Atenciosamente;

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Segundo o manual, assim que o aparelho reconhece um número ele já dispara pela porta serial. Então com o HyperTerminal funcionando e configurado direito já é pra você receber os dados. Agora a linha que você esta testando já tem o identificador de chamadas habilitado? No aparelho, o número é reconhecido? Sobre o e-mail, não posso passar porque não terei tempo pra te ajudar. Tenho outros compromissos que me limitam bastante. Boa sorte.

    Responder


  • Felipe disse:

    Boa Tarde Fernando!

    Em relação ao HyperTerminal eu não consegui visualizar nada na porta. O que será que pode estar acontecendo?.

    Responder

    Fernando Fonte - Dimensão Tech Respondeu:

    Oi Felipe. Pode ser várias coisas. A configuração da porta COM ao abrir o HyperTerminal tem que ser igual a especificada pelo produto (Velocidade, paridade, bits, etc). Pode ser a sua porta COM que esta queimada (Elas queimam facilmente) ou até o dispositivo que está com defeito. Ai teria que ir testando cada item pra ir eliminando. A porta COM tem como testar com um conector DB9. Veja nos comentários acima onde eu falo como montar um. Ah, outra coisa, se a porta COM for um adaptador USB/Serial, precisa ver também, porque a maioria não funciona direito. O ideal é uma porta COM direta da placa mãe do PC ou PCI.

    Responder


  • Felipe disse:

    Fernando Bom dia!

    Eu consegui fazer a comunicação entre o sistema com o Hyperterminal, fiz o teste manual a fim de verificar se este estava enviando alguma coisa pela porta serial. O sistema consegue receber e enviar telefones quando eu faço o teste manual, porém quando eu simulo uma ligação o mesmo ainda não está funcionando. As configurações foram checadas e estão corretas, o evento ComportOnRXChar está disparando e está passando valores. Enfim, segue a sequência para funcionamento: Serviço habilitado na linha(BINA – Telefônica), Convesor DTMF/FSK (Baud:19200,Bits de Dados: 8, Paridade: Nenhuma, Stop Bit: 1), Sistema + TComport com as mesmas configurações citadas acima.

    Responder

  • Denis disse:

    Trabalhamos com sistemas para delivery é preciso de bina Para identifica o cliente quenda liga busca o cadastro do Cliente
    Quando o telefone de o 1º touque

    Responder

RSS feed para os comentários deste artigo.


Deixe uma Resposta

*

Powered by WordPress. Theme: TheBuckmaker. Darlehen, OpenID