当前位置: 技术问答>linux和unix
如何使用USB设备的驱动来写用户程序?(主要考虑 如何控制与读写数据)
来源: 互联网 发布时间:2016-05-06
本文导语: 手头的是velleman的一个k8055简单的数据采集卡。现在编写好了设备驱动(修改skel模板),也可以被手工加载。 但是如何编写user space的程序呢? 我可以使用usbview看到endpoint的地址IN:81; OUT:01 都是8bit 设备被默...
手头的是velleman的一个k8055简单的数据采集卡。现在编写好了设备驱动(修改skel模板),也可以被手工加载。
但是如何编写user space的程序呢?
我可以使用usbview看到endpoint的地址IN:81; OUT:01 都是8bit
设备被默认成了HID设备。
初学者!求教!!!
多数资料都是教如何写驱动并加载。但是我又了驱动模块,并加载了。如何来使用呢?
但是如何编写user space的程序呢?
我可以使用usbview看到endpoint的地址IN:81; OUT:01 都是8bit
设备被默认成了HID设备。
初学者!求教!!!
多数资料都是教如何写驱动并加载。但是我又了驱动模块,并加载了。如何来使用呢?
|
你是不是驱动加载在linux系统里面的,如果是的话,
首先可能需要在根文件系统的/dev 目录下面建立一个设备文件,
这个要根据你的设备是 char设备还是 block 设备。
命令是 mknod 用法(mknod NAME TYPE [MAJOR MINOR])
然后在用户程序中,open该设备文件,
再根据一些系统调用函数,比如 read ,write , 或者 ioctl 等来调用到驱动里面相应的驱动函数了。
最后程序 close 该设备文件。
首先可能需要在根文件系统的/dev 目录下面建立一个设备文件,
这个要根据你的设备是 char设备还是 block 设备。
命令是 mknod 用法(mknod NAME TYPE [MAJOR MINOR])
然后在用户程序中,open该设备文件,
再根据一些系统调用函数,比如 read ,write , 或者 ioctl 等来调用到驱动里面相应的驱动函数了。
最后程序 close 该设备文件。
|
你只要在用户空间把它当成文件就可以了,VFS会帮你定位到驱动的read函数。
|
就跟普通文件的读写一样,示例程序网上应该有很多的。
|
我现在也在用这个卡做我的实习,还在研究里面的程序怎么用VC++调用DLL。。。楼主这个你弄好了没?还想请教
QQ32167563
QQ32167563