Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2010
ferranvic ferranvic is offline
Registrado
 
Registrado: ene 2007
Posts: 2
Poder: 0
ferranvic Va por buen camino
Ayuda puerto serie

Hola a todos, espero que alguien pueda ayudarme, hace años que no toco la programación y tengo que realizar una aplicación que se comunique con una maquina a traves del puerto serie. Hace años hize una pero no recuerdo casi nada de lo que hice.
La maquina usa el protocolo que empieza con el caracter ETX + mensaje + CRC + STX, he instalado el componente Async Pro que es el que use hace años, mi duda es como tengo que enviar la cadena, es decir send := '02' + cadena mensaje + calcular el CRC + '03' o estos caracteres debo convertirlos con CHR o char, o como, alguien puede hecharme una mano, gracias
Responder Con Cita
  #2  
Antiguo 15-01-2010
cocute cocute is offline
Miembro
 
Registrado: nov 2008
Posts: 403
Poder: 16
cocute Va por buen camino
aqui hay un ejemplo de como Controlar dispositivos por el puerto serie en Delphi, aunque no sea con el componente que dices quiza pueda darte alguna idea:
http://delphi.jmrds.com/?q=node/8
Responder Con Cita
  #3  
Antiguo 17-01-2010
ferranvic ferranvic is offline
Registrado
 
Registrado: ene 2007
Posts: 2
Poder: 0
ferranvic Va por buen camino
Ante todo gracias por la respuesta cocute


He hecho mis primeros pasos, estoy intentando con el siguiente código, y usando de las Asyncpro el ApdComPort y el ApdDataPacket, con la siguiente configuración:

ApdComPort.baud := 9600
ComNumber := 1
DataBits := 1
Parity := pNone
StopBits := 1

que es la configuración de la máquina con la que quiero conectar, y el DataPacket de la siguiente forma:

EndStrign := #3 (^C)
StartString := #2 (^B)

el resto de parámetros están por defecto.

el código es el siguiente

procedure TForm1.Button1Click(Sender: TObject);
var
Msg: String;
S: String;
CRCValue: Word;
begin
S := '200'; // Mensage que tiene que poner en marcha la máquina <STX><2><0><0><CRC><ETX>

CalcCRC16(Addr(S[1]), length(S), CRCValue);
Edit1.Text := IntToStr(CRCValue);
Msg := S + IntToStr(CRCValue);
ShowMessage('Ok');
Edit1.Text := Msg;

ApdComPort1.Open := True;
ApdComPort1.PutString(Msg);


while true do
begin
Memo1.Text := Memo1.TExt + ApdComPort1.GetChar;
ShowMessage('Ok');
end;

end;


Imagino que algo hago mal, ya que la máquina no se inmuta y no recibo ninguna respuesta, gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
AYUDA,Comunicación con el puerto Serie tanketa OOP 2 17-04-2007 23:13:08
Usb en puerto serie :p D-MO Humor 10 30-06-2006 06:16:45
Puerto serie esquerda21 Varios 2 12-05-2004 23:58:52
Puerto serie y tcp mercurio Varios 3 28-10-2003 01:21:59
Trabajar con el puerto serie gines PHP 1 27-10-2003 15:59:18


La franja horaria es GMT +2. Ahora son las 23:20:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi