上位機編程示例本_第1頁
上位機編程示例本_第2頁
上位機編程示例本_第3頁
上位機編程示例本_第4頁
上位機編程示例本_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、上位機編程示例WinDriver安裝與使用1.獲取安裝文件和序列號Win32平臺使用 WD1020X86.EXE安裝Win64平臺使用WD1021X64.EXE安裝5H.txtlA_WD1021X64, EXE序列號文件sn.txtWD1020X86.EXE2. 安裝向?qū)?,NEXT3. 許可聲明,I Agree4. 安裝選項,Next5. 安裝目錄,Install6. 安裝Jungo7. Windows Vista及以上版本會彈出Windows安全提示,勾選始終信任來自“LTD的軟件,點擊安裝8. 安裝完成,F(xiàn)inish9.注冊提示,Register Now10. 輸入 license str

2、ing, Activate license11.注冊成功后 Current Active Licens發(fā)生變化,點擊OK12.安裝成功DRFM板驅(qū)動說明接口說明返回值0 =正常非0 =異常備注對板卡操作完成后,需關(guān)閉板卡;板卡號可根據(jù)DRFM_Board_num返回值確定取值范圍,0,板卡數(shù)量);4. DRFM_Load_FPGA函數(shù)int DRFM_Load_FPGA(int board_id,char *path);描述力口載 XC6VSX315TK片 FPGA程序參數(shù)board_id =板 k 號 path =加載文件返回值0 =正常非0 =異常備注5. DRFM_Load_9520函數(shù)

3、int DRFM_Load_9520(int board_id,char *stp_path,DWORD baseAddr);描述配置AD9520時鐘文件參數(shù)board_id =板 k 號 stp_path =時鐘文件 baseAddr =基址返回值0 =正常非0 =異常備注6. DRFM_Load_9739函數(shù)int DRFM_Load_9739(int board_id,DWORD baseAddr);描述配置AD9739參數(shù)board_id =板 k 號 baseAddr =基址返回值0 =正常非0 =異常備注7. DRFM_Read_Memory函數(shù)void DRFM_Read_Mem

4、ory(int board_id,int Bar,DWORD addr,DWORD *data,int length);描述讀 XC5VLX30TW布器參數(shù)board_id =板 k 號 bar = BAR 空間 addr =偏移地址 data =內(nèi)存首地址 length =長度(DWORD)返回值無備注8. DRFM_Write_Memory函數(shù)void DRFM_Write_Memory(int board_id,int Bar,DWORD addr,DWORD *data,int length);描述寫 XC5VLX30TW布器參數(shù)board_id =板 k 號 bar =基地址 add

5、r =偏移地址data =內(nèi)存首地址 length =長度(DWORD)返回值無備注9. DRFM_Load_ADC函數(shù)int DRFM_Load_ADC(int board_id);描述配置 ADC10D1500參數(shù)board_id =板 k 號返回值0 =正常非0 =異常備注10. DSP_Load函數(shù)int DSP_Load(int board_id,CString m_HPILoaderFilePath);描述加載DSP參數(shù)board_id =板 k 號m_ HPILoaderFilePath =加載路徑返回值0 =正常非0 =異常備注板卡控制流程代碼.準備工作基于WinDriver實

6、現(xiàn)使用已有的DRFM板卡驅(qū)動DeviceBase.hdrfm.hDEVICE.lib將以上三個文件加入工程在對話框類中聲明DRFM_BOARD類對象;.初始化在CDRFMSYSDlg:OnInitDialog中添加板卡初始化操作RegistDevice(NULL);注冊驅(qū)動庫ConnectToDevice();/ 連接至板卡int num = m_drfm.DRFM_Board_num();/ 獲取板卡數(shù)量CString strBoardNum;strBoardNum.Format(檢測到 %d塊DRFM板卡,num);/格式化字符串PrintMessage(strBoardNum);/ 打印

7、消息.為控件添加變量)0)。插入ActiveX控件里), 添加類添加在里值).陽類向號Ctrl+ShL ft+X按內(nèi)容調(diào)整大小Shift+FY符左對齊工)CtH+51uft+左箭頭不頂端對齊C+hift+上箭頭守檢直助記鍵價)Ctrl十M添加事件處理程序) .屬性時調(diào)試地址空間示例編輯柜 偏韜摘七卜1二mwg柏垣1二九|胃十=41手a剪切此 力夏制加 力粘貼有 X刪除MCtrl+XCti-14CCU1+VDel同樣方法添加以下變量偏移地址m_offset數(shù)據(jù)m_data4.按鈕事件響應函數(shù)UpdateData(TRUE);更新參數(shù)m_drfm.DRFM_Read_Memory(0, m_spa

8、ce, m_offset, &m_data, 1);/ 讀數(shù)據(jù)/m_space為地址空間/m_offset為偏移量/m_data為數(shù)據(jù)UpdateData(FALSE);更新參數(shù)/UpdateData(TRUE);更新參數(shù)m_drfm.DRFM_Write_Memory(0, m_space, m_offset, &m_data, 1);/ 寫數(shù)據(jù)/m_space為地址空間/m_offset為偏移量/m_data為數(shù)據(jù)搭建界面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應用程序向?qū)?.選擇應用程序類型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二口內(nèi)小中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- . .的類向?qū)В?)Ctrl+Shit+K接向魯調(diào)螫太小CDShi ft+FT心左對齊X)匚trl+Shift+左箭頭用頂端酒齊后)Ctrl+Shit+上甯頭檢查助記鍵冊)Ctrl+lflJ屬性18.設置變量參數(shù)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顯示網(wǎng)格 m_wndListCtrl1.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);定義字符串變量CString strData;添加N行數(shù)據(jù)for (int i=0; iN; i+) /格式化字符串變量 strData.Format( %d , i);/m_wndListCtrl1.InsertItem(i, strData); 一10.同樣方法為輸出列表創(chuàng)建對象,添加列創(chuàng)建對象 m_wndListCtrl2為控件添加列:時間、描述、線程11.更新列表信息Ctrl+Shift

13、+XCtrl+Shift+AShift+Alt+A12.添加自定義消息內(nèi)項目(P)生成舊調(diào)試S)團隊附典數(shù)據(jù)力添加類).一謠類向?qū)В?).一/添加變里出)13.同樣方法再添加一個臼定義消息消息名稱:WM_USER+2消息處理程序:OnPrintMessage. OnPrintData中定義列表更新方法afx msg LRESULT CDRFMSYSD1 g: OnlJrintDatawParam, LPARMI 1 Param)(doub 1 e *p)ata = (dnuh四門出用;1獲取數(shù)據(jù)指針CString strData; 定義字符串變量for (int i=0: i(N; i 卜+)

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

15、pVpssflge; 釋放內(nèi)存return 0;.定義消息打印接口函數(shù)void CDRIMSYSDI : Pr i(CSlriru; AsirMessnse, 11 NT uType)PRINTMSG *pMossag 一 nciv PRITMEC;。中請內(nèi)存pWessage-nType = nType; /7類型SYSTEM!J ME sys;系統(tǒng)時間 (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 ; /發(fā)送消息.打印第一條消息在CDRFMSYSDlg:OnInitDialog方法中加入以下代碼PrintMessage(CString(這是第一條消息);TeeChart控件使用說明1.注冊 TeeChart將TeeChart8.ocx拷貝至目錄下;Win+R,輸入 cmd,回車;輸入 regsvr32 c:teechart8.ocx 回車2. 添力口

17、TeeChart控件3. 插入ActiveX控件4. 調(diào)整好TeeChart控件大小與位置.對控件進行相關(guān)設置雙擊TeeChart控件會彈出設置窗口體標禰主板 EJ麋喟嗯瞿黜S.選擇繪圖類型E TeeChjrtlBffi = I 回 IWSM7.設置繪圖屬性F:J Editing甲,序列0圖表標題國坐標軸國翎j標生面板類型I位凄格式比邊框I文享I偏科陰骷圖標團可見司調(diào)整邊框?qū)R中文子一維離惻墻3D部:一據(jù)具出用題數(shù)工輸打主關(guān)閉幫助為TeeChart控件添加類DMM唱- Biami 箕 JnT 丫吐納之導MFC CImi Wiza rd二;A:序皿ewgfMfi1slCDiiiaitx1D0.D

18、RKMS1 b_ClA-LaSSEXOr=.司 理素/不MSA后年ActwsX替件中力MFC駕叫 MFC OMC mSlHF!.睚不產(chǎn)住巾】由靠看鞋IX_Lliiri Dcjdsrz IKJTATK: ilKJCMARTl 口 DCMEL IgQ就 DO_AHOLrraQK IDO.DRFM,CLCG nr v i inCOfcrtMilMOUTOATE.LG MMfcND.UI精品文檔從越庫海忙羹司舁-DRFMSYS雙迎使用從類型庫承加類向?qū)Э捎玫乃A口J:TnChart Pro AtivsX Cvutrol vfl隊以R來:狼流加奕:Q注冊表國文件1立置;生成的美(9 :IScr olLE

19、 ifTtuin t ISLectorTod.ISer i 電,虹上 mtti cnloolISeriiS.BindleolISeriesXjTciuIS*riISeriesList完成 取消TeeChart控件和對象關(guān)聯(lián)?。夯鵉DRFN的雷達閉環(huán)模擬與處理系統(tǒng)顯示顏邑 翳黃色紅色控制輸出啟動僖止顏色割黃色紅邑X坡危用第切(T)Ctrl+X&復制Ctrl+C益粘貼(P)Ctrl+VX刪除Del添加事件處理程序用“,*播入ActiveX控件(X)鋤聯(lián)(CU添加變量網(wǎng),”溺美向?qū)“Ctrl+Shift+X按內(nèi)容調(diào)整大小Shift+F7憶必濟(L)Ctrl+ Ehift+左簫頭-0詢Ctrl+部在

20、+上薛頭檢查助記敏M)CtrkM歹領(lǐng)控件J3屋性出)0黑綠色X第1色注釋掉構(gòu)造函數(shù)的初始化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)產(chǎn),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; / 獲取數(shù)據(jù)指針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、(); / 獲取曲線的數(shù)量ASSERT(SeriesCount = 1); /斷言曲線數(shù)量為 1CSeries m_Series = m_Chart.Series(0); 獲取第 0 條曲線m_Series.Clear(); 清空曲線點COleSafeArray XValues, YValues; /定義 X 軸和 丫軸數(shù)據(jù)變量DWORD rgElements口 = N; 定義數(shù)據(jù)長度XValues.Create(VT_R8, 1, rgElements); 申請數(shù)據(jù)內(nèi)存空間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; / 釋放內(nèi)存 return 0;11.運行效果線程創(chuàng)建與執(zhí)行.添加線程執(zhí)行函數(shù)才在CDRFMSYSDIg類中添加成員函數(shù)t virtual UINT Process();。在CDRFMSYSDIg類中添加線程執(zhí)行函數(shù),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.運行效果網(wǎng)絡通信接口使用說明接口說明我們使用封裝好的兩個類進行網(wǎng)絡通信的程序開發(fā):CSocketServer和CSocketClient將以下文件加入工程:Socke

26、tServer.hSocketServer.cppSocketClient.hSocketClient.cpp1. Open服務器端函數(shù)int Open();描述打開端口監(jiān)聽并等待客戶端連接參數(shù)無成功返回值0失敗返回值1=WSA失敗2=SOCKE吠敗3=BIND失敗4=LISTEK敗5=ACCEP聯(lián)敗備注使用前打開套接字對象客戶端函數(shù)int Open();描述打開端口并連接服務器端參數(shù)無成功返回值0失敗返回值1=WSA失敗2=SOCKE吠敗3=CONNEC佚敗備注使用前打開套接字對象Close服務器端函數(shù)int Close();描述關(guān)閉套接字參數(shù)無成功返回值0失敗返回值無備注使用后關(guān)閉套接字對象,調(diào)用后Send和Recv接口返回0客戶端函數(shù)int Close();描述關(guān)閉套接字參數(shù)無成功返回值0失敗返回值無備注使用后關(guān)閉套接字對象,調(diào)用后Send和Recv接口返回0Send服務器端函數(shù)int Send(const unsigned char *buffer, int len);描述發(fā)送數(shù)據(jù)參數(shù)buffer =數(shù)據(jù)緩沖len =數(shù)據(jù)度(字節(jié))成功返回值實際發(fā)送數(shù)據(jù)長度(字節(jié))失敗返回值-1備

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論