- 12
- 0
- 约3.05千字
- 约 5页
- 2017-11-20 发布于北京
- 举报
CY7C68013的开发应用记录-上位机程序的编写
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 devName[64] = ;
?? 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函数加上驱动提供的接口宏
您可能关注的文档
最近下载
- 农业生态学课件.pptx VIP
- 2.2.2.1脊椎动物鱼说课课件人教版生物七年级上册.pptx VIP
- 2024轴力自动补偿钢支撑技术规程.docx
- 人教版英语七年级下册Unit 5 Here and Now单元分层作业.pdf
- 2026年1月浙江省高考(首考)生物试题(含标准答案及解析).docx
- 《GB17405-1998保健食品良好生产规范》(2025版)深度解析.pptx VIP
- 初高中德育主题班会:做一个高情商的人 课件(共14张PPT内嵌视频).pptx VIP
- 2026广东新高考地理得分技巧精讲试卷(附答案解析).docx VIP
- 2026 年新高考历史得分技巧精讲试卷(附答案可下载).docx VIP
- 工业高质量数据集研究报告 2025.pdf
原创力文档

文档评论(0)