打开串口API程序 //////////////////////////////////////////////////// procedure TFormMain.OpenComPort; //打开串口子程序 var cc:TCOMMCONFIG; Temp:string;begin Temp:='COM'+ inttostr(ComPort); //打开端口 hComm:=CreateFile(PChar(Temp),GENERIC_READ or GENERIC_WRITE, 0,NIL,OPEN_EXISTING,0,0); if (hComm=INVALID_HANDLE_VALUE) THEN begin MessageBox(0,'打开串口错误!','',MB_OK); hComm:=0; Exit; end; GetCommState(hComm,cc.dcb); //设置端口属性 cc.dcb.BaudRate:=BaudRate; cc.dcb.ByteSize:=8; cc.dcb.Parity:=NOPARITY; cc.dcb.StopBits:=ONESTOPBIT; if not SetCommState(hComm,cc.dcb) then begin MessageBox(0,'串口设置错误!','',MB_OK); Exit; end; SetCommMask(hComm,EV_RXCHAR);end; ////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////
procedure TFormMain.OpenComPort; //打开串口子程序
var
cc:TCOMMCONFIG;
Temp:string;begin
Temp:='COM'+ inttostr(ComPort); //打开端口
hComm:=CreateFile(PChar(Temp),GENERIC_READ or GENERIC_WRITE,
0,NIL,OPEN_EXISTING,0,0);
if (hComm=INVALID_HANDLE_VALUE) THEN
begin
MessageBox(0,'打开串口错误!','',MB_OK);
hComm:=0;
Exit;
end;
GetCommState(hComm,cc.dcb); //设置端口属性
cc.dcb.BaudRate:=BaudRate;
cc.dcb.ByteSize:=8;
cc.dcb.Parity:=NOPARITY;
cc.dcb.StopBits:=ONESTOPBIT;
if not SetCommState(hComm,cc.dcb) then
begin
MessageBox(0,'串口设置错误!','',MB_OK);
Exit;
end;
SetCommMask(hComm,EV_RXCHAR);end;
////////////////////////////////////////////////////////////////////