相应函数主要有:CreateFile():用于打开通信资源;
SetupComm():用于设置输入输出队列的大小;
GetCommState():获得端口参数当前配置;
SetCommState():设置端口;
ReadFile()和WriteFile():读、写指定端口数据;
CloseFile():关闭指定端口
procedure TForm1.FormCreate(Sender: TObject);
var status: Boolean;
begin
Com2:=CreateFile('COM2',
GENERIC_READ OR GENERIC_WRITE, //设置读写模式
0, //共享模式,此项必须为零
NIL, //安全属性
OPEN_EXISTING, //产生方式,必须设为OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,//文件类型为异步通信
0 //通信中此项必须设置为NULL
);
if Com2 = INVALID_HANDLE_VALUE then
MessageBox(0,'CreateFileError请检查串口是否正使用','Warning',MB_OK);
status := SetCommMask(Com2,EV_RXFLAG);
if status <> True then MessageBox(0,'SetCommMaskError','Warning',MB_OK);
status := SetupComm(Com2,1024,1024);
if status <> True then MessageBox(0,'SetupCommError','Warning',MB_OK);
status := GetCommState(Com2,DCB);
if status <> True then MessageBox(0,'GetCommStateError','Warning',MB_OK);
DCB.BaudRate := 2400;
DCB.ByteSize := 8;
DCB.Parity := NOPARITY;
DCB.StopBits := ONESTOPBIT;
status := SetCommState(Com2,DCB);
end;