Advertisement

在Windows环境下进行串口枚举的方法非常实用,并与设备管理器的枚举方式一致

阅读量:

在开发上位机软件并实现与设备通信的过程中,串口通信是一项常见需求。观察到一些串口调试工具,如SSCOM,具备自动识别并列举PC端可用串口的功能。因此,在后续的开发工作中,我也引入了类似的功能设计。
通过查阅相关资料发现,实现该功能的主要方式是读取系统注册表中的相关信息,具体路径为HKEY_LOCAL_MACHINE\ Hardware\DeviceMap\SerialComm

在这里插入图片描述

该技术方案具有较高的简易性,能够识别本机串口、虚拟串口以及外接USB串口等设备所对应的COM端口号。相关实现代码如下:

复制代码
    typedef struct _SERIALNAMEBUF
    {
    	int SerialNum;
    	TCHAR ppSerialName[128][10];
    } SERIALNAMEBUF, *PSERIALNAMEBUF;
    
    int EnumSerialPort(SERIALNAMEBUF *pSerialNameBuf)
    {
    	int i = 0;
    	HKEY hKey;   

全部评论 (0)

还没有任何评论哟~