if (hCon==(HANDLE)-1) //这句看不懂,HANDEL的定义为 typedef void *HAN
hCon=CreateFile("COM1", //串口名称 GENERIC_READ|GENERIC_WRITE, //允许读和写 0, //独占方式 NULL, OPEN_EXISTING, //打开而不是创建 FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED,//重叠方式 NULL); if (hCon==(HANDLE)-1) //这句看不懂,HANDEL的定义为 typedef void *HANDLE; { MessageBox("打开com口失败!"); return FALSE; } SetupComm(hCon,100,100); //输入缓冲区和输出缓冲区的大小都是100 COMMTIMEOUTS TimeOuts; //超时时 TimeOuts.ReadIntervalTimeout=MAXDWORD; TimeOuts.ReadTotalTimeoutMultiplier=0; TimeOuts.WriteTotalTimeoutConstant=0; TimeOuts.WriteTotalTimeoutMultiplier=100; SetCommTimeouts(hCon,&TimeOuts);//设置超时 DCB dcb; GetCommState(hCon,&dcb); dcb.BaudRate=9600; dcb.ByteSize=8;//每个字节有8位 dcb.Parity=NOPARITY;//无奇偶校验 dcb.StopBits=TWOSTOPBITS;//两个停止位 SetCommState(hCon,&dcb); PurgeComm(hCon,PURGE_TXCLEAR|PURGE_RXCLEAR);