Cyapi使用心得.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cyapi使用心得

EZ-USB FX2(68013)Cyapi使用心得(1)--USB连接 2009-11-07 19:23 ????????????? 用Cyapi也有一阵了,这个确实比EZusb的api好用,简单说下Cyapi的使用心得,在编程中应该注意的一些问题,毕竟,说起来,那个CYapi的说明文档讲的实在太简单了点,好多东西都讲得不明白,只能 在使用中自己慢慢积累了。 ??????????? 首先说下前提,固件架构是EZ-USB FX2/FX2LP(CY7C68013),编译环境VC++ 6.0,驱动是Cyusb.sys。 ??????????? 上位机简单说下,建立一个MFC 单文档/对话框 应用程序;在路径项目中包含头文件cyapi.h和cyapi.lib所在的路径,最好移到最上面。然后手动导入cyapi.lib,注意是CV6_7的lib,不要导入BCB的。 ???????????? 下面讲得是按照USB一般工作流程来讲得。 (1)USB连接 ???????? 1.首先要建立一个USB设备对象 文档里有说的了,copy一下 ???????CCyUSBDevice *USBDevice = new?? CCyUSBDev(Handle); 括号中的Handle是USB所关联对象的句柄,一般在MFC中直接就是m_hwnd。 ??????? 2.然后就该是打开USB设备了 可以用到两个函数open();isopen() ???? 这两个都可以用来打开USB设备,isopen()还可以判断能否获得USB设备句柄 ????? 一般来说,如果只有一个USB设备连接,可以这样打开: ?????????????? USBDevice-open(0)??? //打开0号USB设备 如果要判断,可以: ???????????????????? if(! USBDevice-open(0)) //打开失败 ????????????????????? {messagebox(USB未连接);} 或者??????? if(!USBDevice-Isopen()) ???????????????????? .......... ????? 如果连接有多个USB设备,那么可以枚举所有的USB,用到DeviceCount()函数;具体的可以参考cybulk的例子,执行USBDevice-DeviceCount()后,返回所连接的USB设备个数: ?????? if (USBDevice-DeviceCount())?? //保证至少有一个USB设备连接 ??? { ??????? for (i = 0; i USBDevice-DeviceCount(); i++)??? //枚举所有USB设备 ??????? { ??????????? USBDevice-Open(i);???????????????????????????????????? //打开第i号USB设备 ??????????? m_DeviceListComBox.AddString(USBDevice-DeviceName);?? //所选择的当前设备名 ??????? } ??? } ??????????????????? 好了,今天说到这里,有空接着写~ ? ◆???? 在cybulk的例子中介绍了如何枚举固件中使用的所有端点,也就是使用多个端点的情况: ?????? CCyUSBDevice *USBDevice =new CCyUSBDevice(m_hWnd); //USB设备 ???? USBDevice-Open(0);??? //打开0号USB设备 ?????? 【1】首先获取所用的端点数目 ?????? int epts = USBDevice-EndPointCount(); EndPointCount();函数返回当前所用的端点数+1,也就是包含了控制端点。例如在固件接口描述符Interface Descriptor中设置Number of end points项(第5项)的值为4,则epts的值为4+1=5 ????? 【2】定义端点指针 ????? CCyUSBEndPoint *endpt;??? CCyUSBEndPoint 建立一个端点对象,可建立所有的端点类型,控制端点,bulk端点,ISO端点等; ????? 【3】开始枚举端点,并获得其属性:端点号,传输方向 ?????? for (i=1; iepts; i++) ??? {??? ??????? endpt = USBDevice-EndPoints[i];??? //EndPoints-端点列表,最大16.EndPoints[0]指向控制端点( CCyControlEndPoint) ????

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档