上位机编程示例.docx

上传人:b****3 文档编号:1968607 上传时间:2022-10-25 格式:DOCX 页数:38 大小:2.28MB
下载 相关 举报
上位机编程示例.docx_第1页
第1页 / 共38页
上位机编程示例.docx_第2页
第2页 / 共38页
上位机编程示例.docx_第3页
第3页 / 共38页
上位机编程示例.docx_第4页
第4页 / 共38页
上位机编程示例.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

上位机编程示例.docx

《上位机编程示例.docx》由会员分享,可在线阅读,更多相关《上位机编程示例.docx(38页珍藏版)》请在冰豆网上搜索。

上位机编程示例.docx

上位机编程示例

WinDriver安装与使用

1.获取安装文件与序列号

Win32平台使用WD1020X86、EXE安装

Win64平台使用WD1021X64、EXE安装

序列号文件sn、txt

2.安装向导,[NEXT>]

3.许可声明,[I Agree]

4.安装选项,[Next>]

5.安装目录,[Install]

6.安装…

7.WindowsVista及以上版本会弹出Windows安全提示,勾选始终信任来自”JungoLTD”得软件,点击[安装]

8.安装完成,[Finish]

9.注册提示,[RegisterNow]

10.输入licensestring,[Activatelicense]

11.注册成功后Current Active Licens发生变化,点击[OK]

12.安装成功

DRFM板驱动说明

接口说明

1.DRFM_Board_num

函数

int DRFM_Board_num();

描述

获取DRFM板数量

参数

返回值

板卡数量

备注

DRFM板对上位机就是一个PCI设备,上位机通过两个ID号(Vendor ID&DeviceID)识别PCI设备,获取板卡数量实际上就是扫描指定ID号得PCI设备数量。

2.DRFM_Open

函数

boolDRFM_Open(int board_id);

描述

打开板卡

参数

board_id =板卡号

返回值

true =成功false=失败

备注

对板卡进行操作前,需要打开板卡;

板卡号可根据DRFM_Board_num返回值确定取值范围,[0,板卡数量);

3.DRFM_Close

函数

intDRFM_Close(intboard_id);

描述

关闭板卡

参数

board_id= 板卡号

返回值

0=正常非0=异常

备注

对板卡操作完成后,需关闭板卡;

板卡号可根据DRFM_Board_num返回值确定取值范围,[0,板卡数量);

4.DRFM_Load_FPGA

函数

intDRFM_Load_FPGA(intboard_id,char*path);

描述

加载XC6VSX315T芯片FPGA程序

参数

board_id =板卡号

path=加载文件

返回值

0=正常 非0 = 异常

备注

5.DRFM_Load_9520

函数

intDRFM_Load_9520(intboard_id,char*stp_path,DWORDbaseAddr);

描述

配置AD9520时钟文件

参数

board_id=板卡号

stp_path =时钟文件

baseAddr= 基址

返回值

0=正常非0=异常

备注

6.DRFM_Load_9739

函数

intDRFM_Load_9739(intboard_id,DWORDbaseAddr);

描述

配置AD9739

参数

board_id= 板卡号

baseAddr=基址

返回值

0= 正常非0=异常

备注

7.DRFM_Read_Memory

函数

voidDRFM_Read_Memory(intboard_id,int Bar,DWORDaddr,DWORD*data,intlength);

描述

读XC5VLX30T寄存器

参数

board_id=板卡号

bar=BAR空间

addr =偏移地址

data=内存首地址

length=长度(DWORD)

返回值

备注

8.DRFM_Write_Memory

函数

voidDRFM_Write_Memory(intboard_id,intBar,DWORD addr,DWORD*data,intlength);

描述

写XC5VLX30T寄存器

参数

board_id =板卡号

bar= 基地址

addr=偏移地址

data=内存首地址

length=长度(DWORD)

返回值

备注

9.DRFM_Load_ADC

函数

intDRFM_Load_ADC(intboard_id);

描述

配置ADC10D1500

参数

board_id=板卡号

返回值

0=正常非0=异常

备注

10.DSP_Load

函数

intDSP_Load(intboard_id,CString m_HPILoader);

描述

加载DSP

参数

board_id=板卡号

m_HPILoader =加载路径

返回值

0=正常 非0=异常

备注

板卡控制流程代码

1.准备工作

基于WinDriver实现

使用已有得DRFM板卡驱动

DeviceBase、h

drfm、h

DEVICE、lib

将以上三个文件加入工程

在对话框类中声明DRFM_BOARD类对象;

2.初始化

在CDRFMSYSDlg:

:

OnInitDialog中添加板卡初始化操作

RegistDevice(NULL);//注册驱动库

ConnectToDevice();//连接至板卡

intnum = m_drfm、DRFM_Board_num();//获取板卡数量

CStringstrBoardNum;

strBoardNum、Format("检测到%d块 DRFM板卡",num);//格式化字符串

PrintMessage(strBoardNum);//打印消息

3.为控件添加变量

同样方法添加以下变量

偏移地址m_offset

数据m_data

4.按钮事件响应函数

UpdateData(TRUE);//更新参数

m_drfm、DRFM_Read_Memory(0,m_space,m_offset, &m_data,1);//读数据

//m_space为地址空间

//m_offset为偏移量

//m_data为数据

UpdateData(FALSE);//更新参数

///////////////////////////////////////////////////////////////////////////////////////////

UpdateData(TRUE);//更新参数

m_drfm、DRFM_Write_Memory(0,m_space, m_offset,&m_data, 1);//写数据

//m_space为地址空间

//m_offset为偏移量

//m_data为数据

搭建界面

1.新建项目

2.选择工程类型

3.MFC应用程序向导

4.选择应用程序类型

5.启动界面编辑窗口

6.拖放控件

7.为控件添加变量

8.设置变量参数

9.添加列与行

在CDRFMSYSDlg:

:

OnInitDialog方法中加入以下代码

//第0列名称为X,宽度100

m_wndListCtrl1、InsertColumn(0,"X", 0,100);

//第1列名称为Y,宽度100

m_wndListCtrl1、InsertColumn(1,"Y",0,100);

//设置列表得样式LVS_EX_FULLROWSELECT= 正行选取LVS_EX_GRIDLINES=显示网格

m_wndListCtrl1、SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

//定义字符串变量

CString strData; 

//添加N行数据

for(inti=0; i

//格式化字符串变量

strData、Format(“%d”,i);

//添加行

m_wndListCtrl1、InsertItem(i, strData); 

}

10.同样方法为输出列表创建对象,添加列

创建对象m_wndListCtrl2

为控件添加列:

时间、描述、线程

11.更新列表信息

12.添加自定义消息

13.同样方法再添加一个自定义消息

消息名称:

WM_USER+2

消息处理程序:

OnPrintMessage

14.OnPrintData中定义列表更新方法

15.通过PostMessage更新列表信息

16.OnPrintMessage中定义消息更新方法

17.定义消息打印接口函数

18.打印第一条消息

在CDRFMSYSDlg:

OnInitDialog方法中加入以下代码

PrintMessage(CString("这就是第一条消息"));

TeeChart控件使用说明

1.注册TeeChart

将TeeChart8、ocx拷贝至c:

\目录下;

[Win]+[R],输入cmd,[回车];

输入regsvr32c:

\teechart8、ocx,[回车]

2.添加TeeChart控件

3.插入ActiveX控件

4.调整好TeeChart控件大小与位置

5.对控件进行相关设置

双击TeeChart控件会弹出设置窗口

6.选择绘图类型

7.设置绘图属性

8.为TeeChart控件添加类

9.TeeChart控件与对象关联

注释掉构造函数得初始化

10.编写绘图代码

在CDRFMSYSDlg:

:

OnPrintData中插入绘图功能

afx_msg LRESULTCDRFMSYSDlg:

:

OnPrintData(WPARAM wParam, LPARAMlParam)

{

double*pData=(double*)wParam;//获取数据指针

CStringstrData;//定义字符串变量

for (inti=0;i

{

strData、Format("%lf",pData[i]);//格式化字符串

m_wndListCtrl1、SetItemText(i, 1, strData);//设置列表信息

}

longSeriesCount =m_Chart、get_SeriesCount(); //获取曲线得数量

ASSERT(SeriesCount == 1); //断言曲线数量为1

CSeries m_Series=m_Chart、Series(0);//获取第0条曲线

m_Series、Clear();//清空曲线点

COleSafeArray XValues, YValues;//定义X轴与Y轴数据变量

DWORDrgElements[]={N};//定义数据长度

XValues、Create(VT_R8,1,rgElements);//申请数据内存空间

YValues、Create(VT_R8,1,rgElements);

for(long j=0;j

{

doublex=(double)j;

doubley=pData[j];//赋值

XValues、PutElement(&j,&x);

YValues、PutElement(&j,&y);

}

m_Series、AddAr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1