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系统是没有的。