CreateFile()打开串口失败,返回句柄值为0xffffffff

CreateFile()打开串口失败,返回句柄值为0xffffffff出错情况:设备1和设备2分别使用COM1和COM2外界通信,在不关闭软件的情况下,调换串口(即设备1/2,分别使用COM2/1),此时出错?以下是查找原因的步骤:_hCommHandle=::CreateFile( _szCommStr, GENERIC_READ|GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLA

大家好,又见面了,我是你们的朋友全栈君。

出错情况:设备1和设备2分别使用COM1和COM2外界通信,在不关闭软件的情况下,调换串口(即设备1/2,分别使用COM2/1),此时出错?以下是查找原因的步骤:

_hCommHandle = ::CreateFile(
	_szCommStr,
	GENERIC_READ | GENERIC_WRITE,
	0,
	NULL,
	OPEN_EXISTING,
	FILE_FLAG_OVERLAPPED,			
	NULL
	);

打开串口,执行到这里时,_hCommHandle的值为INVALID_HANDLE_VALUE(0xffff ffff),根据函数的帮助文件知道可以利用GetLastError()获取出错原因,如下:

///查找错误
DWORD erM=0;
LPVOID lpMsgBuf;
CString theErr;
if(_hCommHandle==INVALID_HANDLE_VALUE) erM=GetLastError();
FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
            NULL,
            erM,
            MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
            (LPTSTR) &lpMsgBuf,
            0, NULL );
theErr.Format("%s",lpMsgBuf);//theErr显示为“拒绝访问”

出错原因:因为之前的串口仍被占用还没有释放,互换串口后,再次初始化串口时会失败(拒绝访问)。解决办法:每次使用完串口后,将其关闭,再次使用时(针对串口互换的这种情况),就不会出错了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145722.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python 相对路径问题:“No such file or directory“,原因及解决方法

    Python 相对路径问题:“No such file or directory“,原因及解决方法如果你取相对路径不是在主文件里,可能就会有相对路径问题:”Nosuchfileordirectory”。因为python的相对路径,相对的都是主文件。main.py是主文件。conf.py里引用config.txt用相对路径。如果用.或…相对的是main.py,所以用”./config.txt”,相对于main.py是同一个目录下。.指当前文件所在的文件夹,…指当前文件的上一级目录。

    2022年5月7日
    44
  • mysql 查看函数fsync_sync/fsync/fdatasync的简单比较

    mysql 查看函数fsync_sync/fsync/fdatasync的简单比较此文主要转载自官网上有关于MySQL的flushmethod的设置参数说明,但可能很多人不太明白。下文就详细说明此问题。首先官网的说明如下:http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_flush_methodinnodb_flush_methodCommand-LineFormat–i…

    2022年5月31日
    34
  • simulink中积分环节、惯性环节、比例环节

    simulink中积分环节、惯性环节、比例环节simulink中积分环节、惯性环节、比例环节的搭建

    2022年9月28日
    2
  • 四季养生(樊正伦教授)「建议收藏」

    四季养生(樊正伦教授)「建议收藏」道生一,一生二,二生三,三生万物。道:宇宙未形成前的一团物质一:一个点,表示太极二:天和地三:天气下降,地气上升,所形成的运动的气(体现为春夏秋冬) 顺四时春温,夏热,秋凉

    2022年7月1日
    40
  • 数据结构(1)-线性表「建议收藏」

    数据结构(1)-线性表「建议收藏」1.线性表:n个数据元素的有序集合。线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有

    2022年5月18日
    34
  • w3c标准html5手册_在w3c中规定html决定页面的

    w3c标准html5手册_在w3c中规定html决定页面的w3c标准-html

    2022年9月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号