社区
驱动开发/核心开发
帖子详情
请问能不能检测出刚插入的USB设备使用的是哪个端口号
hszj
2006-08-01 05:17:25
请问能不能检测出刚插入的USB设备使用的是哪个端口号,有没有这样的win32 API, 谢谢,因为我是开发应用软件的不懂驱动。
...全文
676
2
打赏
收藏
请问能不能检测出刚插入的USB设备使用的是哪个端口号
请问能不能检测出刚插入的USB设备使用的是哪个端口号,有没有这样的win32 API, 谢谢,因为我是开发应用软件的不懂驱动。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tanlight
2006-08-10
打赏
举报
回复
Edp0是默认的控制信息端口。
zhoujiamurong
2006-08-02
打赏
举报
回复
HDEVINFO hDevInfo;
SP_DEVINFO_DATA DeviceInfoData;
DWORD i;
int iPosition = 0;// 串口所在的位置
CString strCom;//串口字符串
// Create a HDEVINFO with all present devices.
hDevInfo = SetupDiGetClassDevs(NULL,
0, // Enumerator
0,
DIGCF_PRESENT | DIGCF_ALLCLASSES );
if (hDevInfo == INVALID_HANDLE_VALUE)
{
// Insert error handling here.
return FALSE;
}
// Enumerate through all devices in Set.
DeviceInfoData.cbSize = sizeof(SP_DEVINFO_DATA);
for (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,
&DeviceInfoData);i++)
{
DWORD DataT;
LPTSTR buffer = NULL;
DWORD buffersize = 0;
//
// Call function with null to begin with,
// then use the returned buffer size
// to Alloc the buffer. Keep calling until
// success or an unknown failure.
//
while (!SetupDiGetDeviceRegistryProperty(
hDevInfo,
&DeviceInfoData,
SPDRP_FRIENDLYNAME,//SPDRP_DEVICEDESC,
&DataT,
(PBYTE)buffer,
buffersize,
&buffersize))
{
if (GetLastError() ==
ERROR_INSUFFICIENT_BUFFER)
{
// Change the buffer size.
if (buffer) LocalFree(buffer);
buffer = (char*)LocalAlloc(LPTR,buffersize);
}
else
{
// Insert error handling here.
break;
}
}
//串口和并口的GUID()
if(1295444344 ==DeviceInfoData.ClassGuid.Data1
&& 58149 == DeviceInfoData.ClassGuid.Data2
&& 4558 == DeviceInfoData.ClassGuid.Data3
&& 191 == DeviceInfoData.ClassGuid.Data4[0]
&& 193 == DeviceInfoData.ClassGuid.Data4[1]
&& 8 == DeviceInfoData.ClassGuid.Data4[2]
&& 0 == DeviceInfoData.ClassGuid.Data4[3]
&& 43 == DeviceInfoData.ClassGuid.Data4[4]
&& 225 == DeviceInfoData.ClassGuid.Data4[5]
&& 3 == DeviceInfoData.ClassGuid.Data4[6]
&& 24 == DeviceInfoData.ClassGuid.Data4[7])
{
//如果括号里面有COM字符串,就加进来
strCom.Format("%s",buffer);
int iLeft = strCom.Find("(");
if('C' == strCom.GetAt(iLeft + 1)
&& 'O' == strCom.GetAt(iLeft + 2)
&& 'M' == strCom.GetAt(iLeft + 3))
{
m_comboNum.AddString(buffer);
}
}
if (buffer) LocalFree(buffer);
}
if ( GetLastError()!=NO_ERROR &&
GetLastError()!=ERROR_NO_MORE_ITEMS )
{
// Insert error handling here.
return FALSE;
}
// Cleanup
SetupDiDestroyDeviceInfoList(hDevInfo);
解决Linux下
USB
设备
节点tty
USB
名不固定的问题,生成固定
USB
转串口
设备
节点
针对Linux环境下
USB
设备
节点名不固定的问题,本文介绍了一种基于
端口号
定位特定
USB
设备
的方法。通过编写bash脚本和Python脚本来实现自动查找指定端口上的
USB
设备
,并创建稳定的软链接,确保应用程序能够始终访问到正确的
设备
。
使用
lib
usb
获取
usb
串口
设备
名
本文介绍了一种利用lib
usb
库自动
检测
USB
串口
设备
名称的方法。通过监听
USB
设备
的
插入
与拔出事件,并结合/sys/class/tty目录下的软链接信息,实现了
设备
名的自动获取。适用于嵌入式系统中
USB
串口
设备
的快速识别。
linux 怎么查看
usb
设备
端口号
,嵌入式Linux
USB
设备
检测
端口和地址
本文探讨了如何在Linux系统中确定
USB
设备
连接的具体端口。通过分析/sys/bus/
usb
/devices和/sys/class/scsi_disk下的信息,尝试建立
USB
设备
与
端口号
之间的联系。
Linux下
USB
设备
节点tty
USB
名不固定的问题,生成固定
USB
转串口
设备
节点
本文介绍了Linux环境下
USB
设备
节点名如tty
USB
x不固定带来的困扰,提出通过识别
USB
端口号
来定位
设备
。详细阐述了如何通过bash脚本和Python正则表达式获取端口3-1.1上的
设备
名,并创建软链接解决
设备
节点名变动问题。此外,还提到了udev规则的
使用
,通过编写规则文件实现
设备
名的固定,确保程序能稳定地打开指定串口
设备
。
Linux 绑定
USB
设备
端口
本文介绍了如何在Linux系统中通过
设备
ID或硬件端口绑定
USB
设备
,确保特定
设备
始终拥有预设的
设备
名。方法包括查看
设备
ID,创建udev规则文件,设置权限和符号链接,以及根据
USB
硬件端口进行绑定。通过这种方法,可以避免
设备
ID冲突,保证
设备
稳定连接。
驱动开发/核心开发
21,620
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章