在线等:VC下怎样自动检测串口是否连接

时间:2021-10-14 15:18:34
如题,VC下怎样自动检测串口是否连接?

谢谢大家了

9 个解决方案

#1


你打开串口,然后GetLastError()看返回值,就知道串口是否已经打开!

#2


只要有串口,即使没有连接设备也可以打开串口的,大概要发送数据给串口设备,然后接收串口设备发来的数据以判断是否连接了吧。

#3


用过串口大师吗,人家就可以自动的显示连接的串口,怎样可以实现?

#4


to theLibra12(天秤座12号):
GetLastError()的返回值哪个是表示串口是否已经打开!

#5


打开串口,返回成功则表示串口没打开,反之则已经打开

#6


CString strCom;
int nCom = 0;
int count = 0;
HANDLE  hCom;
do {
nCom++;
strCom.Format("COM%d", nCom);
hCom = CreateFile(strCom, 0, 0, 0, 
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if(INVALID_HANDLE_VALUE == hCom )
break;
count++;
CloseHandle(hCom);
} while(1);

return count;

#7


ding

#8


高!!!!

#9


设置RTS/CTS,获取状态,一般使用完整COM信号的设备会设置DTR之类的信号
另外发送at指令,可以获得支持at指令的设备的信息

#1


你打开串口,然后GetLastError()看返回值,就知道串口是否已经打开!

#2


只要有串口,即使没有连接设备也可以打开串口的,大概要发送数据给串口设备,然后接收串口设备发来的数据以判断是否连接了吧。

#3


用过串口大师吗,人家就可以自动的显示连接的串口,怎样可以实现?

#4


to theLibra12(天秤座12号):
GetLastError()的返回值哪个是表示串口是否已经打开!

#5


打开串口,返回成功则表示串口没打开,反之则已经打开

#6


CString strCom;
int nCom = 0;
int count = 0;
HANDLE  hCom;
do {
nCom++;
strCom.Format("COM%d", nCom);
hCom = CreateFile(strCom, 0, 0, 0, 
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if(INVALID_HANDLE_VALUE == hCom )
break;
count++;
CloseHandle(hCom);
} while(1);

return count;

#7


ding

#8


高!!!!

#9


设置RTS/CTS,获取状态,一般使用完整COM信号的设备会设置DTR之类的信号
另外发送at指令,可以获得支持at指令的设备的信息