基于cepark usb开发板 VS2010使用libusb-win32开发应用程序
2015-07-30 09:29
399 查看
软件使用环境:
MFC程序开发: VS2010
操作系统:WIN7
开发板:cepark usb
1. 编写好下位机程序,这里直接使用圈圈的MyUsbHid,将USB设备连接到电脑;
2. 使用inf wizard安装驱动程序;
利用libusb-win32 的安装向导,也即inf wizard,这里使用的程序为cepark usb开发板的圈圈usbhid自定义程序,过程如下
![](http://img.blog.csdn.net/20150730092302887?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150730092310718?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150730092315959?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150730092437037?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
最后选择install now,这样就把驱动安装好了。如果将这个USB设备插入到其它电脑,可以使用刚刚向导生成的文件进行安装驱动。
3. 安装成功之后使用usbdeview可以查看到usb的驱动文件名称为libusb0.sys,表示可以使用libusb库文件。
![](http://img.blog.csdn.net/20150730092441546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
4. VS2010的应用程序开发
在对话框程序中添加lusb0_usb.h,以及libusb.lib文件。
![](http://img.blog.csdn.net/20150730092506163?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在主程序中添加以下语句
![](http://img.blog.csdn.net/20150730092332339?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20150730092450828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在程序初始化部分添加usb设备的初始化程序,如果初始化失败,需要做错误处理,在本例中并未做处理
![](http://img.blog.csdn.net/20150730092342916?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
以下是对USB写数据程序
![](http://img.blog.csdn.net/20150730092347175?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
读数据程序需要建立一个线程
![](http://img.blog.csdn.net/20150730092402822?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
读线程函数
![](http://img.blog.csdn.net/20150730092511467?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
5. 应用程序效果如下
![](http://img.blog.csdn.net/20150730092521170?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
对LED 按钮点击时,开发板对应的LED会亮灭动作,而在开发板上的按键动作时,在KEY state对应的位置会显示其状态。
6. 参考资料:
a. http://www.mamicode.com/info-detail-631793.html
b. http://www.libusb.org/
c. http://wenku.baidu.com/link?url=F_y5u_9wRRa5ppRbh3pjTnyTO7e0ylzoTHu8K9XnY-kG3JWpbwdJwQQ_MObToY74jWLPdihkyRm16KfVUI-12enRB95XZHhR6SqL9mjFslu
MFC程序开发: VS2010
操作系统:WIN7
开发板:cepark usb
1. 编写好下位机程序,这里直接使用圈圈的MyUsbHid,将USB设备连接到电脑;
2. 使用inf wizard安装驱动程序;
利用libusb-win32 的安装向导,也即inf wizard,这里使用的程序为cepark usb开发板的圈圈usbhid自定义程序,过程如下
最后选择install now,这样就把驱动安装好了。如果将这个USB设备插入到其它电脑,可以使用刚刚向导生成的文件进行安装驱动。
3. 安装成功之后使用usbdeview可以查看到usb的驱动文件名称为libusb0.sys,表示可以使用libusb库文件。
4. VS2010的应用程序开发
在对话框程序中添加lusb0_usb.h,以及libusb.lib文件。
在主程序中添加以下语句
在程序初始化部分添加usb设备的初始化程序,如果初始化失败,需要做错误处理,在本例中并未做处理
以下是对USB写数据程序
读数据程序需要建立一个线程
读线程函数
5. 应用程序效果如下
对LED 按钮点击时,开发板对应的LED会亮灭动作,而在开发板上的按键动作时,在KEY state对应的位置会显示其状态。
6. 参考资料:
a. http://www.mamicode.com/info-detail-631793.html
b. http://www.libusb.org/
c. http://wenku.baidu.com/link?url=F_y5u_9wRRa5ppRbh3pjTnyTO7e0ylzoTHu8K9XnY-kG3JWpbwdJwQQ_MObToY74jWLPdihkyRm16KfVUI-12enRB95XZHhR6SqL9mjFslu
相关文章推荐
- MFC之CFont
- 被 Windows 10 SDK 坑了
- 图片延迟加载库Layzr
- 粉丝不在于多,在于够残
- Federated HDFS+beeline+hiveserver2 遇到的坑
- mysql表内复制行数据
- 错误argument of type "char *" is incompatible with parameter of type "LPCWSTR"的解决方法
- 硬币找零-记忆化搜索(DP动态规划)
- 流落在北京的80后北漂们的未来在哪儿
- 读书笔记——《程序员自我修养》——内存不够怎么办?
- android-如何通过接口回调来解决Fragment之间的交互
- Remove Duplicates from Sorted List
- 解决Ajax跨域问题:Origin xx is not allowed by Access-Control-Allow-Origin.
- oracle管理员之备份还原
- cocos2dx安卓打包与调试(适用quick3.5)
- 7月英语——牙牙学语
- django静态文件配置
- CSLight研究院之和uLua的效率对比第一弹
- c实例
- H.264分层结构:VCL、NAL