DWORD dwBytesWrite=5;
COMSTAT ComStat;
DWORD dwErrorFlags;
BOOL bWriteStat;
ClearCommError(hCom,&dwErrorFlags,&ComStat);
bWriteStat=WriteFile(hCom,lpOutBuffer,dwBytesWrite,&dwBytesWrite,NULL);
if(!bWriteStat)
{
AfxMessageBox("写串口失败!");
}
bWriteFile返回的值为0
错误,不能写数据
串口创建过程 //打开并设置COM1
hCom=CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0,NULL , OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, NULL);
if (hCom==(HANDLE)-1)
{
AfxMessageBox("打开COM1失败");
return false;
}
else
{
DCB wdcb;
GetCommState (hCom, &wdcb);
wdcb.BaudRate=9600;//波特率:9600,其他:不变
SetCommState (hCom, &wdcb);
SetupComm(hCom, 1024,1024);
PurgeComm(hCom, PURGE_TXCLEAR);
}
谢谢~~
{
int nError = ::GetLastError();
if (nError != ERROR_IO_PENDING)
{
AfxMessageBox("写串口失败!");
}
}
else
{
AfxMessageBox("不见得串口失败!");
}
if (bWriteStat == FALSE)
{
int nError = ::GetLastError();
if (nError != ERROR_IO_PENDING)
{
AfxMessageBox("写串口失败!");
}
else
{
AfxMessageBox("不见得串口失败!");
}
}
if (bWriteStat == FALSE)
{
int nError = ::GetLastError();
if (nError != ERROR_IO_PENDING)
{
AfxMessageBox("不见得串口失败!");
}
else
{
AfxMessageBox("写串口失败!");
}
}