if(!WriteFile(hCom,buffer,length,&leng,&Overlapped))
buff.Format( buff, " %d\n", GetLastError());
MessageBox(buff);// 写串口
// WriteFile(hCom,buffer,length,&leng,&Overlapped);
CloseHandle(hCom);上面的代码很怪异,当用if(!WriteFile(hCom,buffer,length,&leng,&Overlapped))
buff.Format( buff, " %d\n", GetLastError());
MessageBox(buff);// 写串口
时串口输出正常,
而把上面的注释掉,用WriteFile(hCom,buffer,length,&leng,&Overlapped);
就不会在串口输出东西,不知道为什么,请大家来说说
buff.Format( buff, " %d\n", GetLastError());
MessageBox(buff);// 写串口
// WriteFile(hCom,buffer,length,&leng,&Overlapped);
CloseHandle(hCom);上面的代码很怪异,当用if(!WriteFile(hCom,buffer,length,&leng,&Overlapped))
buff.Format( buff, " %d\n", GetLastError());
MessageBox(buff);// 写串口
时串口输出正常,
而把上面的注释掉,用WriteFile(hCom,buffer,length,&leng,&Overlapped);
就不会在串口输出东西,不知道为什么,请大家来说说
buff.Format( buff, " %d\n", GetLastError()); //如果错误,得到错误信息
MessageBox(buff); //不管错不错,显示提示???
// WriteFile(hCom,buffer,length,&leng,&Overlapped); //正常应该是上面那样写,这样写错了也不知道
CloseHandle(hCom);
buff.Format( buff, " %d\n", GetLastError());
MessageBox(buff);// 写串口
// WriteFile(hCom,buffer,length,&leng,&Overlapped);
CloseHandle(hCom); 你这样,与
if(!WriteFile(hCom,buffer,length,&leng,&Overlapped))
{
buff.Format( buff, " %d\n", GetLastError());
}
MessageBox(buff);// 写串口
// WriteFile(hCom,buffer,length,&leng,&Overlapped);
CloseHandle(hCom);这样作用是一样的,请问你的本意是这样吗?还是你的本意是:
if(!WriteFile(hCom,buffer,length,&leng,&Overlapped))
{
buff.Format( buff, " %d\n", GetLastError()); MessageBox(buff);// 写串口
// WriteFile(hCom,buffer,length,&leng,&Overlapped);
CloseHandle(hCom);
}这样写,和
WriteFile(hCom,buffer,length,&leng,&Overlapped); buff.Format( buff, " %d\n", GetLastError()); MessageBox(buff);// 写串口
// WriteFile(hCom,buffer,length,&leng,&Overlapped);
CloseHandle(hCom);这样写结果是一样的
true 和false判断0代表FALSE
而不等于0都为TRUE
明白了吧
小孩