ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2660回复:16

怎么知道creatfile()打开的是那个端口?

楼主#
更多 发布于:2004-04-13 17:08
我用的是CY7c68001,驱动程序是用DS生成的,读写设备都有两个端口可以读写,我怎么知道creatfile()打开的是那个端口?是不是只有知道那个端口读写的时候才能用writefile()和readfile()读写设备?
  我刚开始写应用程序,所以什么都不明白
  还望高手赐教!
  多谢了!!!

最新喜欢:

Raul_ShaoRaul_S...
jiyu75
禁止发言
禁止发言
  • 注册日期2002-12-17
  • 最后登录2018-07-10
  • 粉丝0
  • 关注1
  • 积分-388分
  • 威望1181点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-04-13 17:22
用户被禁言,该主题自动屏蔽!
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-13 22:33
我得驱动应该只有一个GUID值,我想知道的是:怎么知道打开的是那个端口?因为读写端口一共有4个,两个读两个写
tyant
禁止发言
禁止发言
  • 注册日期2004-03-17
  • 最后登录2018-06-02
  • 粉丝0
  • 关注0
  • 积分74652分
  • 威望373563点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-14 09:41
用户被禁言,该主题自动屏蔽!
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-14 21:36
还请高人指点
jiuyijiu
驱动牛犊
驱动牛犊
  • 注册日期2003-03-14
  • 最后登录2004-12-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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);
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-15 10:00
能不能详细一点,我用的是GUID打开usb驱动的,应该怎么做?
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-04-16 08:34
顶一下
xdkui
驱动牛犊
驱动牛犊
  • 注册日期2004-02-18
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分33分
  • 威望6点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-04-16 08:51
与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);
 


jiuyijiu 不是说了么。strcat(Name,(LPCSTR)\"PIPE00\");中的\"PIPE00\"表示与管道0通信。换成\"PIPE01\"则与管道1通信。
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-04-16 11:02
creatfile打开以后是不是就可以用readfile和writefile与usb硬件进行读写操作了?
abei11
驱动小牛
驱动小牛
  • 注册日期2002-11-14
  • 最后登录2005-06-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-04-16 17:13
试试不就知道了吗?呵呵
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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);
打开设备的时候失败
还望高手相助
多谢了
NewTech
驱动大牛
驱动大牛
  • 注册日期2002-10-02
  • 最后登录2010-03-27
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望263点
  • 贡献值0点
  • 好评度86点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-04-17 13:18
看看周立功的demo很清楚的!
yyouking
驱动老牛
驱动老牛
  • 注册日期2003-12-18
  • 最后登录2020-04-28
  • 粉丝0
  • 关注0
  • 积分967分
  • 威望114点
  • 贡献值1点
  • 好评度78点
  • 原创分0分
  • 专家分0分
  • 社区居民
13楼#
发布于:2004-04-17 18:55
对啊,D12的开发板源程序都有的
提供: AT89S52+D12开发套件 W78E54+Sl811HST单片机读写U盘套件 PL2303HX-串口转USB 网站http://www.devking.cn 联系 sl811hs@yahoo.com.cn QQ:14441292
ssffeng
驱动牛犊
驱动牛犊
  • 注册日期2003-11-06
  • 最后登录2005-04-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-04-18 08:48
在那儿能找到这些源程序呀?
能不能帮我发一个,我得Email:greatsea@eyou.com
多谢了!
我会给分的
xinli->新利
驱动中牛
驱动中牛
  • 注册日期2004-03-28
  • 最后登录2007-08-24
  • 粉丝0
  • 关注0
  • 积分483分
  • 威望56点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-04-18 14:06
如果打开设备失败,
返回的值是INVALID_HANDLE_VALUE.
xueli19810917@163.com www.GGJJDDMM.com
Raul_Shao
驱动牛犊
驱动牛犊
  • 注册日期2005-03-05
  • 最后登录2006-03-22
  • 粉丝0
  • 关注0
  • 积分99分
  • 威望14点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2005-04-15 17:34
OpenByInterface()函数是要自己写还是ds自带的?
如果是自带的话,应该包含哪些头文件。我用的是ds3.2版本。
我是一只小小牛
游客

返回顶部