我通过CH352DS1资料在XP下编写了应用程序实现控制CH352的卡的PDR,PCR,PSR,PXR等寄存器,然而控制这些寄存器的前提是我要先知道CH352卡的基址,之前我是通查看设备管理器中CH352卡的输入输出范围来手动输入应用程序中的;现在我很想知道有没有什么办法可以在应用程序中自动获取该基址!
通过读PCI寄存器来找, 以下是DOS下找的示例:
USHORT CheckDevice( ) /* 检测设备,检测到CH352则返回其PCI地址,即总线/设备/功能号,出错则返回0 */ { X86REG mReg; mReg.x.ax = 0xb102; mReg.x.cx = 0x3253; /* 设备ID */ mReg.x.dx = 0x4348; /* 厂商ID */ mReg.x.si = 0; /* 搜索第一个 */ int86 ( 0x1a, &mReg, &mReg ); /* 调用PCI的BIOS */ if ( mReg.h.ah == 0 ) /* 调用成功 */ { dosPciAddr = mReg.x.bx; /* 检测到CH352 */ return( mReg.x.bx ); /* 返回PCI地址 */ } else return( 0 ); /* 没有检测到CH352 */ }
发邮件到技术支持信箱TECH@WCH.CN,我们发给你。
谢谢,已经实现了!
你是怎么实现能,能把资料发给我吗?个人信息保护,已隐藏