createfile失败(用createfile 打开串口失败的解决方法)

发布时间:2025-12-10 20:00:02 浏览次数:5

用createfile 打开串口失败的解决方法-createfile failed with 32怎么解决

用createfile 打开串口失败的解决方法用createfile打开串口时,当串口号小于10时,打开正常。当串口号大于9时则打开失败,GetLastError返回值为2,错误提示为系统找不到指定的文件。原因是设备名不对。当串口小10时设备名为COMx,当串口时大于9时为\\\\.\\COMx,代码如下:/**进入临界段*/ EnterCriticalSection(&m_csCommunicationSync); /**把串口的编号转换为设备名*/charszPort[15]={0};i

createfile 打开串口时,当串口号小于10时,打开正常。
当串口号大于9时则打开失败,GetLastError 返回值为2,错误提示为 系统找不到指定的文件。
原因是设备名不对。当串口小10时设备名为COMx, 当串口时大于9时为\\\\.\\COMx,代码如下:

/** 进入临界段 */EnterCriticalSection(&m_csCommunicationSync);/** 把串口的编号转换为设备名 */    char szPort[15] = {0};    if (portNo < 10)        sprintf_s(szPort, "COM%d", portNo);    else        sprintf_s(szPort, "\\\\.\\COM%d", portNo);/** 打开指定的串口 */m_hComm = CreateFileA(szPort,  /** 设备名,COM1,COM2等 */GENERIC_READ | GENERIC_WRITE, /** 访问模式,可同时读写 */0,                            /** 共享模式,0表示不共享 */NULL,                         /** 安全性设置,一般使用NULL */OPEN_EXISTING,                /** 该参数表示设备必须存在,否则创建失败 */0,0);/** 如果打开失败,释放资源并返回 */if (m_hComm == INVALID_HANDLE_VALUE){        DWORD err = GetLastError();        printf("err:%d\n", err);LeaveCriticalSection(&m_csCommunicationSync);return false;}

是否还在为Ide开发工具频繁失效而烦恼,来吧关注以下公众号获取最新激活方式。亲测可用!

为防止网络爬虫,请关注公众号回复”口令”

激活idea 激活CLion DataGrip DataSpell dotCover dotMemory dotTrace GoLand PhpStorm PyCharm ReSharper ReShaC++ Rider RubyMine WebStorm 全家桶 刷新

【正版授权,激活自己账号】:Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】:官方授权 正版激活 自己使用,支持Jetbrains家族下所有IDE…

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477