上位机编程示例本_第1页
上位机编程示例本_第2页
上位机编程示例本_第3页
上位机编程示例本_第4页
上位机编程示例本_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上位机编程示例WinDriver安装与使用1.获取安装文件和序列号Win32平台使用 WD1020X86.EXE安装Win64平台使用WD1021X64.EXE安装5H.txtlA_WD1021X64, EXE序列号文件sn.txtWD1020X86.EXE2. 安装向导,NEXT3. 许可声明,I Agree4. 安装选项,Next5. 安装目录,Install6. 安装Jungo7. Windows Vista及以上版本会弹出Windows安全提示,勾选始终信任来自“LTD的软件,点击安装8. 安装完成,Finish9.注册提示,Register Now10. 输入 license str

2、ing, Activate license11.注册成功后 Current Active Licens发生变化,点击OK12.安装成功DRFM板驱动说明接口说明返回值0 =正常非0 =异常备注对板卡操作完成后,需关闭板卡;板卡号可根据DRFM_Board_num返回值确定取值范围,0,板卡数量);4. DRFM_Load_FPGA函数int DRFM_Load_FPGA(int board_id,char *path);描述力口载 XC6VSX315TK片 FPGA程序参数board_id =板 k 号 path =加载文件返回值0 =正常非0 =异常备注5. DRFM_Load_9520函数

3、int DRFM_Load_9520(int board_id,char *stp_path,DWORD baseAddr);描述配置AD9520时钟文件参数board_id =板 k 号 stp_path =时钟文件 baseAddr =基址返回值0 =正常非0 =异常备注6. DRFM_Load_9739函数int DRFM_Load_9739(int board_id,DWORD baseAddr);描述配置AD9739参数board_id =板 k 号 baseAddr =基址返回值0 =正常非0 =异常备注7. DRFM_Read_Memory函数void DRFM_Read_Mem

4、ory(int board_id,int Bar,DWORD addr,DWORD *data,int length);描述读 XC5VLX30TW布器参数board_id =板 k 号 bar = BAR 空间 addr =偏移地址 data =内存首地址 length =长度(DWORD)返回值无备注8. DRFM_Write_Memory函数void DRFM_Write_Memory(int board_id,int Bar,DWORD addr,DWORD *data,int length);描述写 XC5VLX30TW布器参数board_id =板 k 号 bar =基地址 add

5、r =偏移地址data =内存首地址 length =长度(DWORD)返回值无备注9. DRFM_Load_ADC函数int DRFM_Load_ADC(int board_id);描述配置 ADC10D1500参数board_id =板 k 号返回值0 =正常非0 =异常备注10. DSP_Load函数int DSP_Load(int board_id,CString m_HPILoaderFilePath);描述加载DSP参数board_id =板 k 号m_ HPILoaderFilePath =加载路径返回值0 =正常非0 =异常备注板卡控制流程代码.准备工作基于WinDriver实

6、现使用已有的DRFM板卡驱动DeviceBase.hdrfm.hDEVICE.lib将以上三个文件加入工程在对话框类中声明DRFM_BOARD类对象;.初始化在CDRFMSYSDlg:OnInitDialog中添加板卡初始化操作RegistDevice(NULL);注册驱动库ConnectToDevice();/ 连接至板卡int num = m_drfm.DRFM_Board_num();/ 获取板卡数量CString strBoardNum;strBoardNum.Format(检测到 %d块DRFM板卡,num);/格式化字符串PrintMessage(strBoardNum);/ 打印

7、消息.为控件添加变量)0)。插入ActiveX控件里), 添加类添加在里值).阳类向号Ctrl+ShL ft+X按内容调整大小Shift+FY符左对齐工)CtH+51uft+左箭头不顶端对齐C+hift+上箭头守检直助记键价)Ctrl十M添加事件处理程序) .属性时调试地址空间示例编辑柜 偏韬摘七卜1二mwg柏垣1二九|胃十=41手a剪切此 力夏制加 力粘贴有 X删除MCtrl+XCti-14CCU1+VDel同样方法添加以下变量偏移地址m_offset数据m_data4.按钮事件响应函数UpdateData(TRUE);更新参数m_drfm.DRFM_Read_Memory(0, m_spa

8、ce, 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.选择工程类型金宣0幅母口 Vicidl 匚 + +ATI eiA 常风NEF4 I2-1 -iQ毛年=三Gjii年fi典 Mft itrJfsrtt含?晔

9、CX.LCt-W C+*熹配4呻利ER耐门酬M蔷4青m阚 反不打力三品皿应E惘UM FC 麻 Wf31 扁个募自我, 旧U hMDU事的自司Sh-filNhkEM依同8Eh*知Wf 号AA4JMKKncMUR革施册固醇133. MFC应用程序向导4.选择应用程序类型5.启动界面编辑窗口刀【二* t*s弗屈百山|出一:胃匚77/为己事看7Q m 4 3WHIAja .43以Q J二标WE.口 -HE 口 DRf urn第外*0 q Men用I OEFMSVShJ KfMAtSDI.hgj XhukN且用*3* a *加*随口时出崂f二口内小中70 1SMImcpp9”1?4 口鄙附崎,E 金口f

10、tf他VSk ,0常附总叫川上 此附d*(相xH bitter5M* 0修日J Cmh1 LM CertTX-F叮I FartdMI4YS 味;FL ;tl J口/小sbl而AIE里且能审IT匚Ebe BohL*i BeziUrcup Basrife Ihrw*5WG Urt Kefaurv CarrtreJ %山匚的|Bar皿 AMI 干-iX 乏匍工耳 2ENWMtPlbbM|WUMM曰析 Md06.拖放控件St一:蹦地m*,词试Wrti北理_烹多番鸣聂米粥射 ii)色色色色红邑色黄红绿洋青篮A剪切Ctrl+X电复制口)Ctrl+C三粕贴幻Ctrl+VX删除卬)I1添加事件处理程序插入控件

11、oo.,,书添加类添加要里(S- . .的类向导(2)Ctrl+Shit+K接向鲁调螫太小CDShi ft+FT心左对齐X)匚trl+Shift+左箭头用顶端酒齐后)Ctrl+Shit+上甯头检查助记键册)Ctrl+lflJ属性18.设置变量参数9.添加列和行在CDRFMSYSDlg:OnInitDialog方法中加入以下代码第0列名称为X,宽度100m_wndListCtrl1.InsertColumn(0, X, 0, 100);第1列名称为Y,宽度100m_wndListCtrl1.InsertColumn(1, Y, 0, 100);/设置歹U表的样式 LVS_EX_FULLROWSE

12、LECe亍选取LVS_EX_GRIDLINES显示网格 m_wndListCtrl1.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);定义字符串变量CString strData;添加N行数据for (int i=0; iN; i+) /格式化字符串变量 strData.Format( %d , i);/m_wndListCtrl1.InsertItem(i, strData); 一10.同样方法为输出列表创建对象,添加列创建对象 m_wndListCtrl2为控件添加列:时间、描述、线程11.更新列表信息Ctrl+Shift

13、+XCtrl+Shift+AShift+Alt+A12.添加自定义消息内项目(P)生成旧调试S)团队附典数据力添加类).一谣类向导(2).一/添加变里出)13.同样方法再添加一个臼定义消息消息名称:WM_USER+2消息处理程序:OnPrintMessage. OnPrintData中定义列表更新方法afx msg LRESULT CDRFMSYSD1 g: OnlJrintDatawParam, LPARMI 1 Param)(doub 1 e *p)ata = (dnuh四门出用;1获取数据指针CString strData; 定义字符串变量for (int i=0: i(N; i 卜+)

14、StrDatai Format pDatai); 格式化字符串ra_wndListCtrl L SetlteiTextd, L strData): 设置列表信息.deleted pData; 释放内存return 0;.通过PostMessage更新列表信息在CDRFMSYSDlg:OnInitDialog方法中加入以下代码double *pData = neff dflubleN; 申请内存fur (int i-0; istrMessage); 设置描述m vndLi$tCtrl2r SetItenText (nlteni, 3T pMes即gbMtrim ;设置线程 IDde 1 etc

15、pVpssflge; 释放内存return 0;.定义消息打印接口函数void CDRIMSYSDI : Pr i(CSlriru; AsirMessnse, 11 NT uType)PRINTMSG *pMossag 一 nciv PRITMEC;。中请内存pWessage-nType = nType; /7类型SYSTEM!J ME sys;系统时间 (iPtl.ncnlTinUsys);pWessage-strTime. Format(-%02d:%02d:%02d*T sy.s. wHnur, sys, iiiutr, svs. wSticonri);pVesJSciKe-r1派恐飙1

16、明;/,清思|iWr ssiigr-sl riD. Fornml (ttx%CSX, GetQjrrentThreadTd (); 线程ID:PostMssae(n.hffndh M_U$FR+ (TPARAM)passage, NVUJ ; /发送消息.打印第一条消息在CDRFMSYSDlg:OnInitDialog方法中加入以下代码PrintMessage(CString(这是第一条消息);TeeChart控件使用说明1.注册 TeeChart将TeeChart8.ocx拷贝至目录下;Win+R,输入 cmd,回车;输入 regsvr32 c:teechart8.ocx 回车2. 添力口

17、TeeChart控件3. 插入ActiveX控件4. 调整好TeeChart控件大小与位置.对控件进行相关设置双击TeeChart控件会弹出设置窗口体标祢主板 EJ麋喟嗯瞿黜S.选择绘图类型E TeeChjrtlBffi = I 回 IWSM7.设置绘图属性F:J Editing甲,序列0图表标题国坐标轴国翎j标生面板类型I位凄格式比边框I文享I偏科阴骷图标团可见司调整边框对齐中文子一维离恻墙3D部:一据具出用题数工输打主关闭帮助为TeeChart控件添加类DMM唱- Biami 箕 JnT 丫吐纳之导MFC CImi Wiza rd二;A:序皿ewgfMfi1slCDiiiaitx1D0.D

18、RKMS1 b_ClA-LaSSEXOr=.司 理素/不MSA后年ActwsX替件中力MFC驾叫 MFC OMC mSlHF!.睚不产住巾】由靠看鞋IX_Lliiri Dcjdsrz IKJTATK: ilKJCMARTl 口 DCMEL IgQ就 DO_AHOLrraQK IDO.DRFM,CLCG nr v i inCOfcrtMilMOUTOATE.LG MMfcND.UI精品文档从越库海忙羹司舁-DRFMSYS双迎使用从类型库承加类向导可用的霜驿口J:TnChart Pro AtivsX Cvutrol vfl队以R来:狼流加奕:Q注册表国文件1立置;生成的美(9 :IScr olLE

19、 ifTtuin t ISLectorTod.ISer i 电,虹上 mtti cnloolISeriiS.BindleolISeriesXjTciuIS*riISeriesList完成 取消TeeChart控件和对象关联丁:基FDRFN的雷达闭环模拟与处理系统显示颜邑 翳黄色红色控制输出启动僖止颜色割黄色红邑X坡危用第切(T)Ctrl+X&复制Ctrl+C益粘贴(P)Ctrl+VX删除Del添加事件处理程序用“,*播入ActiveX控件(X)锄联(CU添加变量网,”溺美向导m“Ctrl+Shift+X按内容调整大小Shift+F7忆必济(L)Ctrl+ Ehift+左箫头-0询Ctrl+部在

20、+上薛头检查助记敏M)CtrkM歹领控件J3屋性出)0黑绿色X第1色注释掉构造函数的初始化DRFMS-YSDlgxpp X国 CDRFMSYSDlg匕金曷花UiDRFMSYS.rc - ILL.DgLOG , Dialogda-$ 匚口RFMYSDlg ; public CDialogE电,50 七-CDRJ=MSY5Dlg:;CDRFM5Y5Dlg(CWnd* pParent/*=NULL*/)52S3|54555657:CDialogEx(CDRFM5YSDIg:IDD, pParent)产,m_Chart(0)*/m_hlcon = AfxGetApp ()- LoadIcon(I DF

21、t_MAINFRAM E);5859606162636465666768AGnvoid CDRFMSYSDIg:DoDataExchange(CDatExchanget pDX) CDialogEx: :DoDataExchange(pDX);DDX_Control(pDX, IDC_TCHART1, m_Chart);-BEGIN_MESSAGE MAP(CDRFMSYSDIg, CDalogEx)0N_WM_SYSC0M MAND)ON_WM_PAINT()ON_WM_QUERYDFLAGICON()END_MESSAGE_MAP()10.编写绘图代码在CDRFMSYSDlg:OnPrin

22、tData中插入绘图功能afx_msg LRESULT CDRFMSYSDlg:OnPrintData(WPARAM wParam, LPARAM IParam) double *pData = (double*)wParam; / 获取数据指针CString strData; /定义字符串变量for (int i=0; iN; i+)strData.Format(%lf, pDatai);/ 格式化字符串m_wndListCtrl1.SetItemText(i, 1, strData); / 设置列表信息 一long SeriesCount = m_Chart.get_SeriesCount

23、(); / 获取曲线的数量ASSERT(SeriesCount = 1); /断言曲线数量为 1CSeries m_Series = m_Chart.Series(0); 获取第 0 条曲线m_Series.Clear(); 清空曲线点COleSafeArray XValues, YValues; /定义 X 轴和 丫轴数据变量DWORD rgElements口 = N; 定义数据长度XValues.Create(VT_R8, 1, rgElements); 申请数据内存空间YValues.Create(VT_R8, 1, rgElements);for (long j=0; jN; j+)d

24、ouble x = (double)j;double y = pDataj; / 赋值XValues.PutElement(&j, &x);YValues.PutElement(&j, &y);m_Series.AddArray(N, YValues, XValues); 绘制曲线delete口 pData; / 释放内存 return 0;11.运行效果线程创建与执行.添加线程执行函数才在CDRFMSYSDIg类中添加成员函数t virtual UINT Process();。在CDRFMSYSDIg类中添加线程执行函数,inline static UINT Thread(LPVOID pO

25、bject)ProcessO;.定义 Process。UIM CORTOYSDlg:Process0 PrintMessage(CSti*i ng(L”工作线和启动); 打印消息Sleep(lOOO); /iiW由七338&的98”由虱17工作税程退出0.2); 打印消息return 0;.启动工作线程在CDRFMSYSDlg:OnInitDialog方法中加入以下代码AfxBeginThread(Thread, this);4.运行效果网络通信接口使用说明接口说明我们使用封装好的两个类进行网络通信的程序开发:CSocketServer和CSocketClient将以下文件加入工程:Socke

26、tServer.hSocketServer.cppSocketClient.hSocketClient.cpp1. Open服务器端函数int Open();描述打开端口监听并等待客户端连接参数无成功返回值0失败返回值1=WSA失败2=SOCKE吠败3=BIND失败4=LISTEK败5=ACCEP联败备注使用前打开套接字对象客户端函数int Open();描述打开端口并连接服务器端参数无成功返回值0失败返回值1=WSA失败2=SOCKE吠败3=CONNEC佚败备注使用前打开套接字对象Close服务器端函数int Close();描述关闭套接字参数无成功返回值0失败返回值无备注使用后关闭套接字对象,调用后Send和Recv接口返回0客户端函数int Close();描述关闭套接字参数无成功返回值0失败返回值无备注使用后关闭套接字对象,调用后Send和Recv接口返回0Send服务器端函数int Send(const unsigned char *buffer, int len);描述发送数据参数buffer =数据缓冲len =数据度(字节)成功返回值实际发送数据长度(字节)失败返回值-1备

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论