15,979
社区成员
发帖
与我相关
我的任务
分享
#include "stdafx.h"
#include <iostream>
#include <tchar.h>
#include <iostream>
#include <Windows.h>
#include <process.h>
using namespace std;
#define COM_FILE_NUM "COM10" //USB串口名
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hCom = CreateFile(COM_FILE_NUM,//串口口名
GENERIC_READ|GENERIC_WRITE, //允许读和写
0, //独占方式
NULL,
OPEN_EXISTING, //打开而不是创建
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式
NULL);
if(hCom == INVALID_HANDLE_VALUE){
printf("open %s failed ..\n",COM_FILE_NUM); //打开串口成功
getchar();
return 0;
}else{
printf("open %s success ..\n",COM_FILE_NUM); //打开串口成功
}
if(hCom !=NULL){
CloseHandle(hCom);
}
getchar();
return 0;
}
#include "stdafx.h"
#include <iostream>
#include <tchar.h>
#include <iostream>
#include <Windows.h>
#include <process.h>
using namespace std;
#define COM_FILE_NUM "\\\\.\\COM10" //USB串口名
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hCom = CreateFile(COM_FILE_NUM,//串口口名
GENERIC_READ|GENERIC_WRITE, //允许读和写
0, //独占方式
NULL,
OPEN_EXISTING, //打开而不是创建
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式
NULL);
if(hCom == INVALID_HANDLE_VALUE){
printf("open %s failed ..\n",COM_FILE_NUM); //打开串口成功
getchar();
return 0;
}else{
printf("open %s success ..\n",COM_FILE_NUM); //打开串口成功
}
getchar();
if(hCom !=NULL){
CloseHandle(hCom);
}
return 0;
}
在我们打开串口COM10的同时,但我用串口调试工具去打开串口COM1提示被占用。
为什么这里打开COM10后,会我其他的串口也无法打开了,都提示被占用.