Leitura e escrita na Porta serial
Comunicação serial
Todo equipamento ligado à porta serial do micro funciona da seguinte forma:
Na CPU(eprom) do equipamento estão gravados os parâmetros de comunicação:
Velocidade
Paridade
Databits
Stopbits
Isto vale para qualquer dispositivo ligado a porta serial: Leitores de código de barras, balanças, etc..
Importante:
Estes parametros deverão ser do conhecimento do programador, geralmente o fabricante do dispositivo informa a configuração no manual.
Em alguns dispositivos esta configuração pode ser alterada pelo usuário, por exemplo no leitor de barras isto é possível passando um cartão de código de barras.
O seu programa terá que configurar a porta serial do micro com os mesmos parâmetros do dispositivo. Para isso temos uma série de componentes para Delphi. TurboASync32, ASync32, ComPort, IOPort, etc..
Todo componente para porta serial possui as propriedades:
Nome Porta: COM1, COM2 , COM3 , etc..
Velocidade: 2400,4800,9600, etc..
Paridade : N (None) O (odd=ímpar) E (Even=par) etc..
DataBits : 5,6,7,8
StopBits : 1,1.5,2
(Não exatamente com estes nomes)
No componente Async32 são:
vaComm1.DeviceName:=
VaComm1.BaudRate :=
VaComm1.Databits :=
VaComm1.Parity :=
VaComm1.StopBits :=
Após atribuir os parâmetros o seu programa poderá abrir a porta de comunicação.
Geralmente um método chamado OPEN: no caso do Async32 = VaComm.Open
Em seguida você estará apto para Ler ou escrever na porta serial:
Estes métodos geralmente chamam-se: read/write ou input/output etc, no Async32 a leitura é realizada no evento abaixo:
procedure VaComm1RxChar(Sender: TObject; Count: Integer);
begin
MyVar:=MyVar + VaComm1.ReadText;
end;
Para enviar uma String para porta serial no ASync32:
VaComm1.WriteText(''Sua variavel'');
No final sempre fechar a comunicação:
VaComm1.Close;
Componente VaComm do pacote Async32
Exemplo do Componente ASync32 para Delphi 6
Programa demonstra como capturar cheques na porta serial com o componente ASync32.
Exemplo do Componente ASync32 para Delphi 4 e 5
Programa demonstra como capturar cheques na porta serial com o componente ASync32.
Programa para Validação e Leitura de Cheques para Delphi 6
Programa para Validar e Capturar cheques( sem fontes )
Outros componentes para Leitura serial
TurboPower Async pro para Delphi 7
Versão do Async para Delphi7.
Exemplo de comunicação serial com TurboPower AsyncPro para Delphi 7
ComPort ComPort-3.0 para Delphi7.
Usando a APIs do Windows no Delphi
Comunicação serial com API do Windows 1
Exemplo utiliza API do Windows para acessar a porta serial e enviar conteúdo para um TMemo.
Comunicação serial com API do Windows 2 Exemplo utiliza API do Windows para acessar a porta serial e enviar conteúdo para um TLabel.
Usando a MSComm32 no Visual Basic
Exemplo do ActiveX MSComm32 para VB Programa demonstra como capturar cheques na porta serial com o ActiveX MSComm32.
Documentação do MsComm32 na Microsoft
Site com dicas de utilização do MsComm32
Usando a IOLib no Clipper
Exemplo da IOLib para Clipper
Programa demonstra como capturar cheques na porta serial com a Biblioteca IOLib para Clipper52.
SynaSer - componente RS232 para Kylix / Delphi / Lazarus
Componente e Exemplo
Porta Serial em Kylix, componente e exemplo.
Exemplo de leitura/escrita Porta serial com SynaSer e Lazarus
Referências Técnicas
API no Delphi
Download de ActiveX para Porta Serial
Apostila em português sobre RS232
Histórico, Pinagem, Cabos, Conversores sobre RS232 (inglês)
Introdução a Comunicação serial(inglês)
Tutorial em inglês sobre RS232
Site sobre RS232 em inglês