全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CY7C68013的开发应用记录-上位机程序的编写2009年07月05日 星期日 下午 10:57一) USB的基础知识(二) 硬件电路设计(三) 固件程序的编写(四) 驱动程序的制作(五) 外部控制器的实现(在FPGA里实现)(六) 上位机程序(VC)的编写(七) 开发过程的总结 上位机的程序我采用在VC的环境下,用MFC来开发,因为工程只需要上位机能通过USB控制芯片(CY7C68013)与控制板上的FPGA进行数据传输,并将数据的值用图形来显示,所以上位机的程序开发起来就比较容易了。 我采用GDP通用驱动程序(ezusb.sys)作为底层接口(好像cyusb.sys也类似,不过没用过),开发的软件里就直接调用ezusb.sys提供的接口函数与宏定义,这些包含在ezusb.h里。基于上述的需求,要开发的软件里与USB相关的主要包括这么三部分:建立与USB设备的连接,读取数据,写入数据。下面分别介绍: 建立与USB设备的连接 我采用的是用设备名来连接USB设备,这种方式可能只适合只有一个这样的USB设备,设备名称为.EZUSB-0。程序的源代码如下: /连接USB设备 CString strTemp; char devName64 = ; strcat(devName,.EZUSB-0); m_hDevice = CreateFile(devName, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (m_hDevice = INVALID_HANDLE_VALUE) AfxMessageBox(打开设备失败!); else AfxMessageBox(EZ-FX2 打开成功!); 打开一个设备时也可以用GUID来打开,这样更容易理解,但操作上好像麻烦些,我没有调试成功,这部分类容可以参照开发包提供的源代码文件device.h。 读取数据 这部分用DeviceIoControl函数加上驱动提供的接口宏定义(源代码中用绿色来标示)来实现。程序的源代码如下: OnDatain() / TODO: Add your control notification handler code here UpdateData(); BULK_TRANSFER_CONTROL bulkTranCtrl; bulkTranCtrl.pipeNum = m_inPip; BOOL revRst; DWORD nBytes; /保存实际接收的数据的个数 revRst = DeviceIoControl( m_hDevice, IOCTL_EZUSB_BULK_READ, (PVOID)&bulkTranCtrl, sizeof(BULK_TRANSFER_CONTROL), gDataRevBuffer, INDATA_MAXSIZE, &nBytes, NULL ); if (revRst) /接收成功 showData(gDataRevBuffer,nBytes,TRUE); /显示接收到的数据 else DWORD error = ERROR_NO_MORE_ITEMS; error = GetLastError(); AfxMessageBox(接收数据失败!); 写入数据 这部分用DeviceIoControl函数加上驱动提供的接口宏定义(源代码中用绿色来标示)来实现。程序的源代码如下: OnDataout() / TODO: Add your control notification handler code here UpdateData(); BULK_TRANSFER_CONTROL bulkTranCont; /管道选择的结构指针 bulkTranCont.pipeNum = m_outPip; generateDataOut(); /执行发送操作 BOOL sendResult; DWORD nBytes; sendResult = DeviceIoControl( m_hDevice, IOCTL_EZUSB_BULK_WRITE, (PVOID)&bulkTranCont, sizeof(BULK_TRANSFER_CONTROL), m_pOutBuffer, m_dataOutNum, &nBytes, NULL ); if (sendResult) /数据发送成功 showData(m_pOutBuffer,nBytes,FALSE); /显示发送的数据 fre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粉状化妆品制造工安全生产能力考核试卷含答案
- 快件派送员安全培训水平考核试卷含答案
- 硫酸生产工岗前师带徒考核试卷含答案
- 冷拉丝工改进能力考核试卷含答案
- 侍酒师改进水平考核试卷含答案
- 树桩盆景工安全生产知识强化考核试卷含答案
- 金属材管拉拔工标准化测试考核试卷含答案
- 2025年云南城市建设职业学院马克思主义基本原理概论期末考试模拟题附答案
- 2024年西畴县事业单位联考招聘考试真题汇编附答案
- 2024年海南州特岗教师招聘考试真题题库附答案
- 2026年1月福建厦门市集美区后溪镇卫生院补充编外人员招聘16人笔试备考题库及答案解析
- 2025 年大学人工智能(AI 应用)期中测试卷
- 重庆市渝中区(2025年)辅警协警笔试笔试真题(附答案)
- 暴雪车辆行驶安全培训课件
- 2026年七台河职业学院单招综合素质笔试模拟试题带答案解析
- 2026年吉林司法警官职业学院单招职业技能考试备考试题带答案解析
- 2025内蒙古润蒙能源有限公司招聘22人考试题库附答案解析(夺冠)
- 2026年国家电网招聘之电网计算机考试题库500道有答案
- 年味课件教学课件
- 中国临床肿瘤学会(csco)胃癌诊疗指南2025
- 广东省广州市2025年上学期八年级数学期末考试试卷附答案
评论
0/150
提交评论