串口打开失败原因:
1.串口被占用
2.驱动没装好
3.程序中串口名不对程序中串口名不对造成打开失败的原因:
1.COM0到COM9可直接用 "COMX" 或 "COMX:" 打开串口,在设备管理器对应com口的属性->端口设置->高级中可修改COM口,采用“\\\\.\\COMX”名打开串口也会失败
2.COM10以上的端口采用 “COMX”或“COMX:”名不能打开串口,命名为“\\\\.\\COMX”打开成功。
MSDN看到的描述:
If your com port is greater than 9, trying to open e.g. "COM10" will fail... This is documented above, but there is a subtlety with using the syntax specified:
"\\.\COM10" must be in your code as "\\\\.\\COM10":
sprintf(tmp,"\\\\.\\COM%d",comport);
CreateFile(tmp,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
This may also apply to other versions of Windows(?)