块传输有很多例子,比如这个Bulkloop例程,就是学习块传输最好的例子,固件程序分析请查看我之前的贴子,这里就不多说了。这里主要介绍一下上位机程序,看看如何通过PC控制块传输。当然,Bulkloop这个例子,也可以用控制面板来调试,早期版本的控制面板也是用C语言来编写的,你也可以找来研究一下。(写这个贴子时,我的电路板已经加工调试完毕,图片见我的其它贴子或者访问我的淘宝http://shop64171919.taobao.com)
总的来说,一定要在CYPRESS提供的开发包的基础上去编写上位机程序,不要用以前控制USB的那种方式,如用这个函数DeviceIoControl,那样调试会很慢,有些折磨人。在使用CYPRESS公司提供的驱动基础上,你只要在程序中加入头文件CyAPI.h和库文件CyAPI.lib,再调用其中的控制函数就可以了,还是比较简单的。但是如果你不懂VC6,可能你会遇到很多麻烦,好多电子工作师都是这样的,你要做好很多准备。
下面是程序的主要部分,分别说明。创建一个对话框程序,在对话框的头文件中加入如下定义, CCyUSBDevice *USBDevice;
CCyUSBEndPoint *OutEndpt;
CCyUSBEndPoint *InEndpt;第一个是声明一个CCyUSBDevice对象,第二三是声明一个OUT端点和IN端点,以便下面的程序使用。
程序的主要部分只有三句话,如下,BeginDataXfer(),>WaitForXfer()和>FinishDataXfer()。这三个函数就完成一个完整的块传输。第一个启动块传输,第二个等待数据返回,第三句是完成块传输,就这三名话而已,你可以查阅相关的文档。完整的程序我会放在淘宝上,供我的淘宝朋友下载调试,如果你有这个需要,可以发信给我。
过两天补上 ,,,,
沈阳市东陵区白塔街龙盛家园
QQ:392425239
http://blog.ednchina.com/liangziusb
http://shop64171919.taobao.com(正在建设中)
liangziusb_940932268 2011-9-22 09:35
用户314653 2011-9-21 09:16