描述:
环境 VS2008,WINCE6,WINCE系统里有“COM1”,我用串口调试终端能打开”COM1“并且能发送与接收数据
为了怕搞错串口名称,我干脆打开COM1-COM5,并且跟踪 m_hComm的值,发现返回的全部是 -1(0xffffffff), 这是我建的一个WINCE测试工程,就在下面这个函数里添加了如下代码,不知为何CreateFile()会返回 -1,请高手指定一二,谢谢
BOOL CWinceUartTestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
HANDLE m_hComm=0;
m_hComm =CreateFile(L"COM0", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if((int)m_hComm != -1)
m_hComm =CreateFile(L"COM1", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if((int)m_hComm != -1)
m_hComm =CreateFile(L"COM2", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if((int)m_hComm != -1)
m_hComm =CreateFile(L"COM3", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if((int)m_hComm != -1)
m_hComm =CreateFile(L"COM4", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if((int)m_hComm != -1)
m_hComm =CreateFile(L"COM5", GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
if((int)m_hComm == -1)
MessageBox(L"COM0-COM5 Open Error!");
else
MessageBox(L"COM0-COM5 Open Succcess!");
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
解决方案1:
"COM0:" 后面要加“:”,这个是wince个windows不一样的地方。