阅读:2660回复:16
怎么知道creatfile()打开的是那个端口?
我用的是CY7c68001,驱动程序是用DS生成的,读写设备都有两个端口可以读写,我怎么知道creatfile()打开的是那个端口?是不是只有知道那个端口读写的时候才能用writefile()和readfile()读写设备?
我刚开始写应用程序,所以什么都不明白 还望高手赐教! 多谢了!!! |
|
最新喜欢:Raul_S... |
沙发#
发布于:2004-04-13 17:22
用户被禁言,该主题自动屏蔽! |
|
板凳#
发布于:2004-04-13 22:33
我得驱动应该只有一个GUID值,我想知道的是:怎么知道打开的是那个端口?因为读写端口一共有4个,两个读两个写
|
|
地板#
发布于:2004-04-14 09:41
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2004-04-14 21:36
还请高人指点
|
|
5楼#
发布于:2004-04-14 23:41
与USB通信,要明确对应的端口。如果要想用CREATEFILE打开端口0
就可以这样写: Char Name[256]=\"\"; strcat(Name,functionClassDeviceData->DevicePath); strcat(Name,(LPCSTR)\"PIPE00\"); HANDLE hDevice=CreateFile(Name, GENERIC_WRITE|GENERIC_READ, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); |
|
6楼#
发布于:2004-04-15 10:00
能不能详细一点,我用的是GUID打开usb驱动的,应该怎么做?
|
|
7楼#
发布于:2004-04-16 08:34
顶一下
|
|
8楼#
发布于:2004-04-16 08:51
与USB通信,要明确对应的端口。如果要想用CREATEFILE打开端口0 jiuyijiu 不是说了么。strcat(Name,(LPCSTR)\"PIPE00\");中的\"PIPE00\"表示与管道0通信。换成\"PIPE01\"则与管道1通信。 |
|
9楼#
发布于:2004-04-16 11:02
creatfile打开以后是不是就可以用readfile和writefile与usb硬件进行读写操作了?
|
|
10楼#
发布于:2004-04-16 17:13
试试不就知道了吗?呵呵
|
|
11楼#
发布于:2004-04-16 19:25
这是我生成驱动的时候生成的调试程序
// OpenByInterface // // Opens the nth device found with the given interface class HANDLE OpenByInterface( GUID* pClassGuid, // points to the GUID that identifies the interface class DWORD instance, // specifies which instance of the enumerated devices to open PDWORD pError // address of variable to receive error status ) { HANDLE hDev; CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDev == INVALID_HANDLE_VALUE) *pError = GetLastError(); return hDev; } 我应该怎么改才能打开端口2呢? 我用 Char Name[256]=\"\"; strcat(Name,functionClassDeviceData->DevicePath); strcat(Name,(LPCSTR)\"PIPE02\"); HANDLE hDevice=CreateFile(Name, GENERIC_WRITE|GENERIC_READ, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); 打开设备的时候失败 还望高手相助 多谢了 |
|
12楼#
发布于:2004-04-17 13:18
看看周立功的demo很清楚的!
|
|
13楼#
发布于:2004-04-17 18:55
对啊,D12的开发板源程序都有的
|
|
|
14楼#
发布于:2004-04-18 08:48
在那儿能找到这些源程序呀?
能不能帮我发一个,我得Email:greatsea@eyou.com 多谢了! 我会给分的 |
|
15楼#
发布于:2004-04-18 14:06
如果打开设备失败,
返回的值是INVALID_HANDLE_VALUE. |
|
|
16楼#
发布于:2005-04-15 17:34
OpenByInterface()函数是要自己写还是ds自带的?
如果是自带的话,应该包含哪些头文件。我用的是ds3.2版本。 |
|
|