首页 > 编程知识 正文

com1串口连接失败,monitorloop模块打开失败

时间:2023-05-06 01:19:01 阅读:110636 作者:692

在createfile中打开串行端口时,如果序列号小于10,则会正常打开。

如果序列号大于9,则打开失败。 GetLastError的返回值为2,显示找不到指定文件的错误消息。

原因是设备名称错了。 如果串行端口小于10,则设备名称为COMx,如果串行端口大于9,则为\\.\COMx,代码为:

/**临界段* /企业(m _ cscommunicationsync ); /**将串行端口编号设置为设备名称*/char szPort[15]={0}; if(portNo10 ) sprintf_s ) SZport,' COM%d ',portno ); elsesprintf_s(SZport,'\\.\COM%d ',portNo ); /**指定的串行端口*/m_hcomm=createfilea(SZport,/**设备名称、COM1、COM2等) (*/GENERIC_READ | GENERIC_WRITE /**此参数表示设备必须存在。 如果不存在,创建将失败。 */0,0; /**如果打开失败,请释放资源并释放*/if (m _ hcomm==invalid _ handle _ value ) { DWORD err=GetLastError; 打印(err : % d (n ),err ); leavecriticalsection (m _ cscommunicationsync; 返回假; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。