Código fuente de la herramienta de monitoreo de puerto serie
Conexión
Uso
Ventana, mensaje, sistema, variable, clase, gráficos, control, formulario,
Cuadros de diálogo, controles estándar, SPComm.
Tipo
TForm1 = clase(TForm)
botón 1:TButton;
botón 2:t botón;
comun 1:TComm;
memo 1:TM emo;
editar 1:TEdit;
editar 2:TEdit;
Procedimiento Comm1ReceiveData(remitente:TObject buffer:puntero;
longitud del buffer:Word);
formulario de procedimiento crear(Remitente:to objeto);
Proceso botón 1Haga clic (remitente: para objetar);
Botón de proceso 2Haga clic (remitente: para objetar);
Privado
{Declaración privada}
Público
{Declaración pública}
Fin;
Definir variables
formulario 1:t formulario 1;
rbuf: bytes de matriz[1..8];
Rendimiento
{$R *. dfm}
Función HexStrToStr(const S:string):string;
//Convierte 16 cadenas hexadecimales en cadenas.
Definir variables
t: entero;
ts: cadena;
m, código: entero
< p; >iniciot:= 1;
resultado:="";
y t & lt=longitud
comienzan / /xlh 2006.10.21
while(t & lt; = longitud (S)) y (S[t..9 ',' A '..' f in (no[' 0 '', ' a '..f'])) do
Inc(t);
if(t+1 & gt; longitud (S)) o (no (S [t +1] en ['0 '..9 ', ' A '..' f ', ' a '..f'])) Entonces
ts:='$'+S [t ]
Otros
ts:= ' $ '+S[t]+S[t+1];
Val(ts, M, código) ;
Si código=0, entonces
Resultado:= Resultado+Chr(M);
inc(t, 2);
Fin;
Fin;
Programa TForm1. Comm1ReceiveData(remitente: TObject buffer: puntero;
longitud del búfer: Word
Definir variables
datos, vdata: double; >str: cadena;
Inicio
SetLength(Str, longitud del búfer);
move(búfer^,pchar(@rbuf[1] )^, bufferlength);
memo 1 . líneas . add(float tostr(rBuf[1]));
Fin
Programa TForm1.
FormCreate(remitente:al objeto);
Inicio
comm 1. commname:= ' com '+inttostr(6);
comm 1. velocidad en baudios: = 9600;
comm 1. startcomm;
Fin;
Programa TForm1. Button1Click(remitente:al objeto);
Definir variable
cadena: cadena;
Inicio
cadena:= HexStrToStr (edit1. Texto);
formulario 1 . com 1 . writecommdata(pchar(str), longitud(str));
Fin
Programa TForm1. Button2Click(remitente: al objeto);
Definir variables
str: string;
Inicio
str:= HexStrToStr( edit2. Texto);
formulario 1. com 1. writecommdata(pchar(str), length(str));
Fin
Fin.
Depende de lo que hagas. Si se comunica con la computadora inferior, primero conéctese a comm1 y envíe o reciba el código anterior.
Aquí se utiliza la transmisión de 16 bases.