MSCOMM es un poderoso control de comunicación en serie para Microsoft. Los siguientes códigos se procesan en hexadecimal para enviar y recibir.
varilla
SendData: Array [1..10] de char;
Redata: matriz de variante;
sendstr: string;
rests: cadena;
I: longint;
Comenzar
mscomm1.commport: = 1;
MSComm1.settings: = '9600, n, 8,1';
mscomm1.inbufferSize: = 1024;
mscomm1.outbuffersize: = 1024;
mscomm1.inputmode: = cominputModeBinary;
mscomm1.inputlen: = 0;
mscomm1.shreshold: = 0;
mscomm1.inbuffercount: = 0;
mscomm1.outbuffercount: = 0;
mscomm1.portopen: = true;
Mscomm1.rthreshold: = 16; // Establezca cuántos bytes recibir para generar el evento Oncomm
sendData [1]: = chr ($ 06);
sendData [2]: = chr ($ 03);
sendData [3]: = chr ($ 00);
sendData [4]: = chr ($ 03);
sendData [5]: = chr ($ 10);
sendstr: = '';
para i: = 1 a 5 hacer
sendstr: = sendstr + sendData [i];
mscomm1.output: = sendstr; // Enviar datos
i: = 0;
bzw: = falso;
repetir
dormir (10);
Aplicación. ProcessMessages;
i: = i + 1;
Si i> 30000 entonces
Comenzar
showMessage ('Enviar tiempo de espera!');
romper;
fin;
Hasta bzw = verdadero;
redata: = mscomm1.input;
rest: = '';
para i: = 0 a VarArrayHighBound (redata, 1) hacer
rests: = restt + inttoHex (redata [i], 2) + '';
mscomm1.portopen: = false;
platmemo1.text: = rests;
fin;
// evento Oncomm
procedimiento tForm1.mscomm1comm (remitente: tobject);
Comenzar
Caso MSComm1. Commevent de
ComeVReceive: bzw: = true;
fin;
fin;
Finalmente, al lanzar el software, debe traer el archivo MSComm32.ocx.