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 02-05-2011
aagrlp640 aagrlp640 is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: México
Posts: 12
Poder: 0
aagrlp640 Va por buen camino
Comport y Delphi para enviar Comandos AT

Hola compañeros de la comunidad delphi, tengo una pregunta, lo que pasa es que tengo ya instalado el componente comport para comunicarme con los puertos del modem por medio de delphi, lo que quiero es que al enviar el comando "at" me mande el "ok" que se supone debería de aparecer, les pongo mi código a continuación:
Código Delphi [-]
procedure TForm1.BEnviarClick(Sender: TObject);
var
  resp, at : AnsiString;
begin
  ComPort.Open;
  at := 'AT' + chr(13) + chr(10);
  ComPort.WriteStr(at);
  Sleep(10);
  ComPort.ReadStr(resp, 80);
  ShowMessage(resp);
end;
El problema de este código es que el showmessage no me manda nada.
Me podrían decir que está mal o sí alguien ya lo ha hecho antes me podrían mandar parte del código.
De hecho probando desde la hiperterminal y putty si me corren bien los comandos at, así que sí hay comunicación con el modem (Nokia n900)
Lo que uso es:
Celular Nokia n900 para usarlo como modem.
- Cable de datos de Nokia n900 para conectarlo a la pc.
- Delphi 7
- Windows XP
- Componente comport
Saludos ojalá puedan ayudarme.
Responder Con Cita
  #2  
Antiguo 03-05-2011
afxe afxe is offline
Miembro
 
Registrado: jul 2004
Ubicación: Malaga-España
Posts: 273
Poder: 20
afxe Va por buen camino
mas información.

Puede que tu problema venga por la configuración del componente comport, ¿Tienes bien puesto el puerto? ¿La velocidad de transmisión? ¿el protocolo de comunicación?.... Tienes que asegurarte que esos parámetros estén sincronizados con los que tiene tu modem.
__________________
Amar al mundo apasionadamente.
Responder Con Cita
  #3  
Antiguo 03-05-2011
aagrlp640 aagrlp640 is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: México
Posts: 12
Poder: 0
aagrlp640 Va por buen camino
Hola afxe, gracias por tu respuesta, pues según yo si tengo todo bien porque cuando pongo el componente ComPort1 y le doy doble click configuro esa información de la misma manera que lo hago en hiperterminal.
Le pongo
Puerto > com6 (el de mi cel)
bits por segundo > 9600
bits de datos > 8
paridad > ninguno
bits de parada > 1
control de flujo > hardware
De casualidad no tendrás algún ejemplo o me podrías comentar si a ti si te ha funcionado haciendolo mas o menos de la misma manera.
Responder Con Cita
  #4  
Antiguo 03-05-2011
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Debes de usar el evento OnRxChar para capturar lo que te envían al puerto serie.

El componente trae una sección de ejemplos y ademas trae un archivo de ayuda.
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #5  
Antiguo 03-05-2011
aagrlp640 aagrlp640 is offline
Miembro
NULL
 
Registrado: abr 2011
Ubicación: México
Posts: 12
Poder: 0
aagrlp640 Va por buen camino
Hola FGarcia, estuve investigando de lo que mecomentas de OnRxChar, quería saber si me podrías explicar como se usa o como tendría que integrarlo a mi código.
Responder Con Cita
  #6  
Antiguo 04-05-2011
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Bueno, este ejemplo viene en el programa de ejemplo de la carpeta Examples que se instala junto con el componente. Tiene algunas modificaciones para otra cosa que use antes pero te sirve.


Código Delphi [-]
{-----------------------------------------------------------------------------
  Procedure: ComPortRxChar
  Author:    Administrator
  Date:      05-ago-2008
  Arguments: Sender: TObject; Count: Integer
  Result:    Este es el procedimiento clave para recibir datos desde el puerto
             serie. Cualquier caracter que entra por el puerto serie lo coloca
             -en este caso- en el componente Memo. Si se necesita recibir
             caracteres diferentes y para cada uno de esos caracteres realizar
             una accion diferente, se puede usar una estructura de tipo Case Of
             o IF ELSE
             Si los datos a recibir son de una longitud constante o vienen de-
             limitados por un caracter de inicio o por un caracter terminador
             es preferible usar el componente ComDataPacket en vez de este
             Evento. NOTA: NO SE PUEDEN USAR PARA UN MISMO PUERTO AMBOS. SON
             EXCLUYENTES.
-----------------------------------------------------------------------------}
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
  //Aqui leemos lo que entro al puerto serie
  ComPort.ReadStr(Str, Count);

  //Aqui escribimos en el Memo. Coloque comentarios para no usar esta parte
  Memo.Text := Memo.Text + Str;

  {Quite los comentarios para usar esta seccion de ejemplo IF ELSE. Pruebe con
  el checkbox de nueva linea checado y sin checar}
  {if Str = 'A' then
    ShowMessage('Recibi una letra A')
  else if Str = '1' then
    ShowMessage('Recibi un numero 1')
  else
    ShowMessage('Recibi esto: ' + Str);}
  
end;
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
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
Enviar comandos al puerto serie cls API de Windows 6 30-12-2010 13:46:05
Enviar comandos a la impresora Minotaure Impresión 1 16-03-2009 13:03:18
Enviar datos a la linea de comandos con java gjpelaez JAVA 1 25-02-2008 19:53:55
Ayuda con el Comport para Delphi por favor urg Andres_vl OOP 1 24-09-2007 17:21:19
manual para aprender delphi(comandos) jermy Varios 3 01-12-2006 22:56:11


La franja horaria es GMT +2. Ahora son las 09:50:28.


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