windows系统下,打开COM10及以上的串口,居然遇到找不到硬件资源的错误,但是同样的代码打开COM1-COM9是没有任何问题的。
用CreateFile()打开串口,如果串口号大于9,会返回INVALID_HANDLE_VALUE错误。
原来打开10以上的COM口,传参数是有讲究的。
HANDLE hCom = CreateFile("\\\\.\\COM10", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL);串口号应修改为"\\\\.\\COM10", 这样的问题在linux系统是没有的。
本文探讨了在Windows系统中使用CreateFile()函数打开COM10及以上串口时遇到的问题及解决方案。当串口号大于9时,需要特殊处理才能成功打开串口。文章详细介绍了正确的参数设置,并指出此问题在Linux系统中不存在。
243

被折叠的 条评论
为什么被折叠?



