freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于網(wǎng)絡的虛擬儀器測試系統(tǒng)設計畢業(yè)論文(參考版)

2025-06-30 20:49本頁面
  

【正文】 在三個模塊的按鈕的處理函 數(shù)中,對地址進行有效的判斷,從而無需用戶來 。在萬用表的設計和編程過程中,由于有了函數(shù)信號發(fā)生器以及示波器的經(jīng)驗,所以工作進度就相對來的快一些,關(guān)鍵的的問題還在于程序的調(diào)試上。 (Result is %s,buff)。 viScanf(/*multimeter*/,%s,buff)。FETC?\n)。} break。 if(DC==) {viPrintf(/*multimeter*/,VOLT:DC:%s\n,)。 return。 m_nID=GetCheckedRadioButton(IDC_RADIO_VOLTAGE,IDC_RADIO_PERIOD)。 viPrintf(/*multimeter*/,TRIG:DELAY %s\n,)。//觸發(fā)器設置按鈕的點擊-這里是一個大的循環(huán),對用戶是否對觸發(fā)器進行了設置操作//通過變量m_btrigger進行判斷 if(m_btrigger==1) {viPrintf(/*multimeter*/,TRIG:SOURCE %s\n,)。viPrintf(/*multimeter*/,INPUT:IMPEDANCE:AUTO %s\n,m_nStr_Input)。而測量結(jié)果的顯示部分則是通過彈出式信息框的形式來對測量結(jié)果進行顯示。注意:Configure命令用于指定函數(shù)配置萬用表,該命令并不啟動測量。例如:++LF,++12LF,++12LFEOI。HPIB End or Indentify信號將會在最后一個字節(jié)被發(fā)送。注意:在使用init和fetc?命令時應當小心,萬用表的內(nèi)部存儲器的容量只有有512個字節(jié),超過該范圍的最先的數(shù)據(jù)將會被丟棄。read?指令被分解為兩個命令:init和fetc?.指令init置萬用表于等待觸發(fā)狀態(tài),外部觸發(fā)發(fā)生來啟動測量,測量值被存儲于萬用表內(nèi)部存儲器中。該命令啟動測量并將數(shù)據(jù)直接放入輸出緩沖區(qū),接著由用戶提供IO函數(shù)來取回數(shù)據(jù)并發(fā)送給計算機。一條MEASURE命令將會啟動多個測量(如果觸發(fā)數(shù)或采樣數(shù)大于1);如果讀回數(shù)據(jù)的速度不夠快以至于模塊的輸出緩沖區(qū)滿時,測量將會停止直至有空間來存儲數(shù)據(jù)時才重新啟動測量。)還有許多配置,用戶手冊中都給出了說明。又如DC輸入阻抗(在正常的情況下,所有的DC電壓范圍的輸入阻抗是10兆歐姆來最小化噪聲。譬如在DC電壓測量過程中,就會遇上如下的一些常見的錯誤:熱電動勢、阻抗錯誤、電流泄漏錯誤、不合格電源的噪聲、共模以及磁環(huán)路和地環(huán)路引起的噪聲等等,都提供了一些解決的思路。然而,為了到達最好的測量效果,必須做一些準備工作來消除一些潛在的測量誤差。測量直流電壓時,該萬用表可以提供每秒65次范圍變化和每秒30次函數(shù)變化。該萬用表提供了廣泛的測量功能包括電壓、幅值、電阻、和頻率的高級測量以及對測試TTL輸出和直流電壓比測量。}5 萬用表模塊 Agilent E1412A 安捷倫的E1412A 6位半高精度萬用表是一個規(guī)格為C,具有一個槽,基于消息基的VXI模塊,它與E1312A模塊只是規(guī)格上的不同。 return 0。//這里是針對指定控件如靜態(tài)控件的刷新,相對對話框的刷新,這種刷新不會出現(xiàn)閃屏問題pm_pCSInvalidateRect(prect,TRUE)。}m_Data。 COSCILLOGRAPH* dlg。具體代碼見附錄,下面是線程函數(shù)的代碼:static CEvent g_End。不過,這樣的設計實在是太難看了,后來,通過上網(wǎng)咨詢,論壇的朋友建議我使用線程函數(shù)進行對特定的窗口進行刷新。于是就添加了兩個Slider控件來控制波形的拉伸,起初的設計就是刷新窗口的問題:因為通過滑塊來改變XY的值,但需要它能及時的在窗口上得到響應,這個問題使我有點頭痛。 =。 =+15。 =m_nRect。m_nRect)。 CStatic* pStatic=(CStatic*)GetDlgItem(IDC_STATIC_SHOW)。//這里使用Y } Invalidate()。kn。 n++。i2000。我只要將讀回的波形數(shù)據(jù)進行處理,并將數(shù)據(jù)傳遞給給類的一個數(shù)組就可以了!!//*****************************************數(shù)據(jù)的轉(zhuǎn)換***************************************** int j=0。然后經(jīng)過我的測試,一切OK!我好高興~~~~~讀回數(shù)據(jù)之后,就是數(shù)據(jù)的顯示問題。但是它也給了我一定的提示:頭部給出了數(shù)據(jù)塊的字節(jié)的個數(shù),既然是字節(jié),也就是一個字符。 n++。i2000。} }//*****************************************數(shù)據(jù)的轉(zhuǎn)換***************************************** int j=0。 if(error!=VI_SUCCESS) {error_handler(/*oscillograph*/m_Session,error)。i++) { error=viScanf(/*oscillograph*/m_Session,%c,amp。 for(int i=0。}//************************************數(shù)據(jù)點的采集部分**************************************//利用字符轉(zhuǎn)換符和viScanf函數(shù)來進行讀取數(shù)據(jù)并定義一個無符號的字符數(shù)組來對讀//取的數(shù)據(jù)進行存儲--隨后進行數(shù)據(jù)//**************************************的轉(zhuǎn)換和數(shù)據(jù)的處理2005/5/17 viPrintf(/*oscillograph*/m_Session,:waveform:data?\n)。 if(error!=VI_SUCCESS) {error_handler(/*oscillograph*/m_Session,error)。preamble[8],amp。preamble[6],amp。preamble[4],amp。preamble[2],amp。preamble[0],amp。//************************************preamble的采集*************************************** viPrintf(/*oscillograph*/m_Session,:waveform:preamble?\n)。 viPrintf(/*oscillograph*/m_Session,:wave:points 2000\n)。下面給出了讀取引導數(shù)據(jù)和波形數(shù)據(jù)的部分代碼:ViStatus error。該參數(shù)是會變的(根據(jù)指令:waveform:points來設置數(shù)據(jù)點的采樣的個數(shù))。而該數(shù)據(jù)點的個數(shù)是由指令:waveform:points來進行設定的。通過指令:waveform:data?來查詢采樣回來的二進制數(shù)據(jù)塊()。在示波器的編程過程中,有兩個難題:數(shù)據(jù)的采集和數(shù)據(jù)的顯示問題。測量時可以對測量源進行選擇,測量參數(shù)進行選擇等。而對于測量的結(jié)果的顯示,我是通過一個彈出式信息對話框的形式來進行的,這樣做比較的簡明清楚。固然需要一些執(zhí)行按鈕和一些顯示用的控件。你可以使用指令:waveform來進行數(shù)據(jù)的讀取并返回給計算機,并通過自己編寫的程序進行數(shù)據(jù)的分析處理。數(shù)據(jù)采集回來之后,你可以通過示波器進行數(shù)據(jù)的測量或傳送數(shù)據(jù)給編寫的程序進行處理。安捷倫并不推薦這種方式,因為循環(huán)等待的時間是會變化的,促使你的程序的崩潰。而當指令:digitize正在工作的時候,其他的指令將會被放入緩沖區(qū)直至該指令執(zhí)行完畢。該指令清空波形緩沖區(qū),啟動采集直至采集內(nèi)存已經(jīng)存滿數(shù)據(jù),并停止。還有,當你改變示波器的配置時,所有采集回來的數(shù)據(jù)將會被放棄。一旦初始化正確,就可以進行數(shù)據(jù)的采集工作了。程序的初始化包括定義和初始化變量、分配內(nèi)存或測試系統(tǒng)的配置;控制器的初始化確保連接示波器的接口(GPIB/RS232)能正確的建立以及準備好數(shù)據(jù)的收發(fā)。s Guide通過該資料我了解了該數(shù)字示波器的工作原理:示波器初始化數(shù)據(jù)采集數(shù)據(jù)分析圖4-2上面的結(jié)構(gòu)框圖是對于每一個程序的基本構(gòu)架。以下是54620系列的數(shù)字示波器的參數(shù)對照表:4 示波器模塊 Agilent 54622D 100MHz混合信號示波器介紹Agilent 54622D混合信號示波器(MSO)具有100MHz 的帶寬,200MS/S采樣率, 2MB通道的MegaZoom深存儲器以及2+16通道有2個模擬通道和16個數(shù)字通道,組合了示波器對信號的詳盡分析和邏輯分析儀的多通道定時測量能力。一組為在主窗口中進行定義,而另外一組是在相應的面板中通過ClassWizard進行定義,這樣方便數(shù)據(jù)的交換,也方便自己的數(shù)據(jù)的處理工作。將各種調(diào)制方式分列在不同的組中并列有標題,清晰可見。不至于使用戶分辨不清哪個是載波與調(diào)制波。這樣就比較的清晰。因為調(diào)制需要一個調(diào)制波和一個載波。最后,對自己的猜測進行試驗,結(jié)果一切OK了??!“試驗是檢驗真理的唯一標準”是一個不變的真理。不過我利用設置斷點進行分段調(diào)試,被我給發(fā)現(xiàn)了這個函數(shù)并沒有執(zhí)行。其中下面的語句給我?guī)砹艘欢ǖ膯栴}:nID_Select_Modul=GetCheckedRadioButton(IDC_RADIO_BW,IDC_RADIO_FM)。//給一個提示框--明示用戶的操作 break。 break。 } else {error=viPrintf(/*funcgen*/m_Session,APPL:%s %f,%f,%f\n,m_nBaseShape,m_nFreq,m_nAmpl,m_nOffs)。 break。 }//******************************判斷用戶選擇的是否是任意波 Elseif(GetCheckedRadioButton(IDC_RADIO_SIN,IDC_RADIO_DC)==IDC_RADIO_ARBI) { error=viPrintf(/*funcgen*/m_Session,APPL:USER %f,%f,%f\n,m_nFreq,m_nAmpl,m_nOffs)。 viPrintf(/*funcgen*/m_Session,VOLT:OFFS %f\n,m_nOffs)。 viPrintf(/*funcgen*/m_Session,FREQ %f\n,m_nFreq)。CheckWaveRadioButton()。//輸出端的設置viPrintf(/*funcgen*/m_Session,OUTPut:SYNC %s\n,m_nSignal)。}}上面是對用戶的選擇進行的變量的賦值以備后用。break。break。break。break。break。break。break。break。 nID_SelectWaveF=GetCheckedRadioButton(IDC_RADIO_SIN,IDC_RADIO_DC)。}void CGENERATER::OnRadioRamp() { (FALSE)。}void CGENERATER::OnRadioTriangle() { (FALSE)。我進行分塊的調(diào)試:首先是調(diào)試產(chǎn)生不同波形的功能塊是否正常。重新運行程序,結(jié)果一切OK! 圖3-12象這樣的問題,如果沒有碰上過,也是有點不知所措的。我懷疑是這個原因,于是對混亂的ID進行的重新的排序。但是,前面的問題還沒有解決??!于是我對單選按鈕的ID進行的排序和分析,發(fā)現(xiàn)沖突的按鈕的ID的順序也是交叉的。故而遺留了下來??!于是我就將其全部的進行刪除。怎么會出現(xiàn)這樣的情況呢??思索了蠻久,:因為該文件中都是一些關(guān)于控件ID資源的定義。而且還出現(xiàn)了跟另外一組的單選按鈕出現(xiàn)了沖突。(不過,我想說的一點是有許多書籍的內(nèi)容是很垃圾的,程序不完整不說,而且還誤人子弟)。測試通過之后,再在程序中進行運用。就拿單選按鈕的實現(xiàn)來說,因為我的基本波形的選擇設想是通過用戶的選擇(單選)來進行的,這樣的設計直觀且美觀,符合人們的操作習慣。在彈出時,各個參數(shù)都有其初始值以方便用戶。然而,在自己的界面的設計過程中也給出了一些配置信息,比如,頻率,幅值,偏移,占空比(其中對占空比也做了特別的處理,因為占空比參數(shù)只適合于方波,所以在選中其他波形的時候需要對該參數(shù)進行屏蔽,以防止用戶的輸入)。該操作會把所有分配給指定會話的數(shù)據(jù)結(jié)構(gòu)資源進行釋放操作。 以上只是無調(diào)制情況下的輸出代碼,而調(diào)幅、調(diào)頻等的實現(xiàn)代碼將會在附錄給給出。}}MessageBox(Successfully!)。//這里的參數(shù)需要用戶自己添加 if(error!=VI_SUCCESS) { error_handler(/*funcgen*/,error)。} viPrintf(/*funcgen*/,FUNC:USER%s\n,)。 if(error!=VI_SUCCESS) {error_handler(/*funcgen*/,error)。 viPrintf(/*funcgen*/,FUNC:SQU:DCYC %f\n,m_nDcycle)。 viPrintf(/*funcgen*/,VOLT %f\n,m_nAmpl)。//判斷用戶選擇的波形是否是方波,并通過函數(shù)viPrintf來進行各種SCPI命令的執(zhí)行if(GetCheckedRadioButton(IDC_RADIO_SIN,IDC_RADIO_
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1