Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > ASM y Microcontroladores
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 02-08-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Bueno aqui esta algo de ayuda para el amigo:




Con esto podras practicar un poco y entender como mandar y recibir por el serial port, usando en componente Comport.

Aqui el codigo:

Código Delphi [-]
unit SerieT;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, CPort;
type
  TForm1 = class(TForm)
    Button1: TButton;
    ComPort: TComPort;
    Button2: TButton;
    Button3: TButton;
    Memo1: TMemo;
    Button4: TButton;
    Button5: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure ComPortRxChar(Sender: TObject; Count: Integer);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
//Esto te permite que en el memo puedas ver hex y ascii.
 procedure AddHexString(S : String; Lines : TStrings );
var AddS, HexS, CopyS : String;
    i : Integer;
const SLen = 8;
begin
  while Length(S) > 0 do
    begin
      AddS := Copy(S,1,SLen);
      HexS := '';
      Delete(S,1,SLen);
      for i := 1 to SLen do
        begin
          CopyS := Copy(AddS,i,1);
          if CopyS <> '' then
            HexS := HexS + ' ' + Format('%2.2x',[Byte(CopyS[1])]) //
          else
            HexS := HexS + '   ';
        end;
       while Length(AddS) < SLen do
         AddS := AddS + ' ';
       for i := 1 to SLen do
         case AddS[i] of
           #0..#31 : AddS[i] := '.';
           #127    : AddS[i] := '.';
         end;
       Lines.Add(HexS+' : '+AddS);
    end;
    end;

// este es el procedure para recibir por el serial port
//(recuerda en el comport Events poner el procedure  OnRxChar
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
  Str: String;
begin
  ComPort.ReadStr(Str, Count);
  AddHexString(Str,Memo1.Lines);
end;
// aqui esta el primer boton
procedure TForm1.Button1Click(Sender: TObject);
begin
if not ComPort.Connected then
 ComPort.Open;
 Comport.WriteStr(#01);//cambia este byte a enviar si quieres
end;
// aqui esta el segundo boton
procedure TForm1.Button2Click(Sender: TObject);
begin
if not ComPort.Connected then
 ComPort.Open;
 Comport.WriteStr(#02); //puedes cambiar este byte si quieres
end;
// aqui esta el tercer boton
procedure TForm1.Button3Click(Sender: TObject);
begin
if not ComPort.Connected then
 ComPort.Open;
 Comport.WriteStr(#03); // tambien puedes cambiar su valor
end;
// salir de la aplicacion
procedure TForm1.Button4Click(Sender: TObject);
begin
Close;
end;
//aqui puedes cambiar los parametros del comport
procedure TForm1.Button5Click(Sender: TObject);
begin
 ComPort.ShowSetupDialog;
end;
end.

Solo tienes que unir los pines 2 y 3 del puerto serie y podras monitorear lo que envias.Por otra parte tambien este programita te funcionara como un monitor.
Cambiendo los bytes a enviar en el procedure de los buttons podras ir jugando con ellos y encontrar que es lo que quieres que tu micro reciba.

Código Delphi [-]
procedure TForm1.Button3Click(Sender: TObject);
begin
if not ComPort.Connected then
 ComPort.Open;
 Comport.WriteStr(#03); //cambia este numero, por el codigo que 
//quieras mandar a tu micro
end;


Un Saludo.
Responder Con Cita
  #22  
Antiguo 02-08-2008
dperezju dperezju is offline
Registrado
 
Registrado: jul 2008
Posts: 6
Poder: 0
dperezju Va por buen camino
Talking

Hombre muchas gracias esto es más de lo que esperaba les agradesco en demasia, pense que solo respondian preguntas muy avanzadas pero el día que fui a la reunión de programadores delphi, me di cuenta que es una comunidad muy unida.

Un saludo a todos!!!!
Responder Con Cita
  #23  
Antiguo 02-08-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Cita:
Empezado por dperezju Ver Mensaje
Hombre muchas gracias esto es más de lo que esperaba les agradesco en demasia, pense que solo respondian preguntas muy avanzadas pero el día que fui a la reunión de programadores delphi, me di cuenta que es una comunidad muy unida.

Un saludo a todos!!!!
Amigo en lo que te podamos ayudar aqui estamos.Desafortunadamente en los PIC si no puedo hacer nada.Pero con el componente Comport y Delphi.Pues lo poco que aprendimos en este mismo club, pues esta a la orden.


Un Saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
problemas con comport juanpa130679 Varios 1 30-03-2011 23:34:53
componente ComPort pollo_c Varios 12 03-08-2008 00:14:33
Ayuda con el Comport para Delphi por favor urg Andres_vl OOP 1 24-09-2007 18:21:19
Problemas con ComPort 3.0 jairo guzman C++ Builder 0 18-02-2007 01:12:31
comport interface elbert Noticias 1 05-11-2006 18:12:38


La franja horaria es GMT +2. Ahora son las 07:34:01.


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