usb接口编程

阿布在飘 2008-08-25 10:29:12
各位好啊,请教一个问题。我现在打算对一个usb接口的刷卡器,进行开发。我用DDK写了一个上位程序,这个上位程序可以获得设备的VendorId\ProductId,但是不能对设备进行readFile/writefile,听别人说对于标准的键盘、刷卡器,是系统独占的,不能通过readFile/writefile进行读写。请问在设计设备的时候,怎么才能设计成不是系统独占的,谢谢
...全文
282 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lujunql 2008-09-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 codewarrior 的回复:]
基于USB的?
第一,你的USB client端使用的是什么控制芯片,一般都有配套的Windows下的驱动——譬如Cypress提供了一个cyusb.sys驱动和一个cyapi的库,这样你就可以访问设备了,如果没有像CyApi这样的库,你可以直接向驱动发送IOControl Code来访问设备(其实CyApi就是这么做的,只不过把复杂的发送ioctl code的代码封装起来了,使得更加简便易用)
第二,usb端需要有一个firmware来响应host端的命令,以cypress为例,它的usb…
[/Quote]
在驱动程序中定义CTL_CODE:
#define MYUSB_IOCTL_READ CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METHOD_BUFFERED, FILE_READ_DATA)
#define MYUSB_IOCTL_WRITE CTL_CODE(FILE_DEVICE_UNKNOWN, 0x801, METHOD_BUFFERED, FILE_WRITE_DATA)
来访问!
http://blog.csdn.net/lujunql/archive/2008/06/10/2532362.aspx
wcl021 2008-09-03
  • 打赏
  • 举报
回复
不懂,支持
会思考的草 2008-09-02
  • 打赏
  • 举报
回复
对于标准设备,比如HID设备,windows是提供了驱动,这种设备使用起来就很简单了。
会思考的草 2008-09-02
  • 打赏
  • 举报
回复
基于USB的?
第一,你的USB client端使用的是什么控制芯片,一般都有配套的Windows下的驱动——譬如Cypress提供了一个cyusb.sys驱动和一个cyapi的库,这样你就可以访问设备了,如果没有像CyApi这样的库,你可以直接向驱动发送IOControl Code来访问设备(其实CyApi就是这么做的,只不过把复杂的发送ioctl code的代码封装起来了,使得更加简便易用)
第二,usb端需要有一个firmware来响应host端的命令,以cypress为例,它的usb client controller,一般都是51系列单片机,你可以使用Keil C这样的工具来写firmware。
host端和client端都做好了才算是一个完整的usb开发。
Silitex 2008-08-25
  • 打赏
  • 举报
回复
智能找到相应的驱动盘,然后想普通硬盘一样读文件写文件就可以了。
hansin 2008-08-25
  • 打赏
  • 举报
回复
好像不能直接控制,以前也想用此类方法,直接发数据到打印机,结果不行。

期待高手!

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧