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

正文內(nèi)容

基于rs232接口的數(shù)據(jù)采集分析系統(tǒng)研究于碩(專業(yè)版)

2025-08-08 18:42上一頁面

下一頁面
  

【正文】 // Operationspublic:// Overridespublic: int axis_x_interval。}bool TSigma::GetDataImmediate( doubleamp。 m_fSendMessage = true。 if( GetSigmaMsg(probe_model) ) return true。 if( GetSigmaMsg(sigma_sn) ) return true。 if(msg[length2]!=39。dwMask,amp。(pTSigmam_csCommunicationSync))。 COMSTAT ComStat。 fState=WriteFile(m_hPort,(LPSTR)buf,dwLength,amp。 WaitForSingleObject(m_pThreadm_hThread,INFINITE)。 = m_nBaud。 return false。 m_hReceived = CreateEvent(NULL,TRUE,FALSE,NULL)。 // Buffer for data and mand received Buffer m_buffer。 void SetAreaCorrection( BOOL setValue )。 ~TSigma(void)。}而數(shù)據(jù)采集的終止則非常的簡單:關(guān)閉定時(shí)器: KillTimer(ID_TIMER_ASKDATA)。void CMy3SigmaView::OnTimer(UINT_PTR nIDEvent){ if(nIDEvent==ID_TIMER_ASKDATA) { double ans。 for(int i=imin。 for(int i=0。 }else{ SetScrollSizes(MM_TEXT,sizeTotal)。 arm_peroid。因?yàn)槲覀儗?duì)數(shù)據(jù)采集的速率要求并不高,一般在10Hz左右,所以沒有使用復(fù)雜的方法進(jìn)行定時(shí),自動(dòng)采集,而是簡單的設(shè)置一個(gè)以采樣周期為基準(zhǔn)的定時(shí)器,定時(shí)執(zhí)行GetDataImmediate成員函數(shù),并在每次采集回?cái)?shù)據(jù)之后刷新顯示。 ResetEvent(m_hReceived)。 返回值根據(jù)stdcall函數(shù)的規(guī)定,函數(shù)調(diào)用正常,返回0,否則返回非0值,表示錯(cuò)誤代碼。 void SetAreaCorrection( BOOL setValue )。3. 因?yàn)閿?shù)據(jù)的讀取相對(duì)于PC來說是個(gè)漫長的過程,在這過程中,PC可以完成許多其他的任務(wù),因此我們的類必須是非阻塞的——可以在后臺(tái)執(zhí)行數(shù)據(jù)的傳輸。查詢方式是指程序定期周期性地檢查串口的緩沖區(qū),發(fā)現(xiàn)有數(shù)據(jù)就讀取數(shù)據(jù)。當(dāng)發(fā)送緩沖區(qū)中字符數(shù)小于該值時(shí),MSComm控件設(shè)置Commevent屬性為ComEvSend,并產(chǎn)生OnComm事件。 3. Portopen:設(shè)置或返回串口狀態(tài)。脈沖周期、脈沖寬度總有誤差。接受端再將接受到的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。典型的值為1。它表示每秒鐘傳送的bit的個(gè)數(shù)。RS422是一種單機(jī)發(fā)送、多機(jī)接收的單向、平衡傳輸規(guī)范,被命名為TIA/EIA422A標(biāo)準(zhǔn)。在近端與遠(yuǎn)端通信過程中,采用串行RS232標(biāo)準(zhǔn),實(shí)現(xiàn)PC機(jī)與單片機(jī)間的數(shù)據(jù)傳輸。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集分析系統(tǒng)在多個(gè)領(lǐng)域有著廣泛的應(yīng)用。在科研工作和學(xué)習(xí)中,我們經(jīng)常用到一些儀器儀表。從古時(shí)的結(jié)繩計(jì)數(shù),到近代的各種指針式儀器,再到現(xiàn)在的各種數(shù)字式儀表、儀器,以及虛擬儀器,每一次測(cè)量技術(shù)的革新,都直接推動(dòng)了科技的進(jìn)步。數(shù)據(jù)采集(DAQ),是指從傳感器和其它待測(cè)設(shè)備等模擬和數(shù)字被測(cè)單元中自動(dòng)采非電量或者電量信號(hào),送到上位機(jī)中進(jìn)行分析,處理。 圖 01 數(shù)據(jù)采集系統(tǒng)的基本組成數(shù)據(jù)采集分析系統(tǒng)的任務(wù)就是采集傳感器輸出的模擬信號(hào)并轉(zhuǎn)換成計(jì)算機(jī)能識(shí)別的數(shù)據(jù)信號(hào),然后送入計(jì)算機(jī)進(jìn)行相應(yīng)的計(jì)算和處理,得出所需的數(shù)據(jù)??傊?,不論在哪個(gè)應(yīng)用領(lǐng)域中,數(shù)據(jù)采集與處理將直接影響工作效率和所取得的經(jīng)濟(jì)效益。但是僅僅是一個(gè)串行接口,也有著各種各樣不同的標(biāo)準(zhǔn),比如:RS232C、RS422/RS485(這是我們一提到串口就會(huì)立刻想到的),上文中提到的SATA、USB,還有IEEE1394等等。如錄像機(jī)廠家中的Sony與松下對(duì)錄像機(jī)的RS422控制協(xié)議是有差異的,視頻服務(wù)器上的控制協(xié)議則更多了,如Louth、Odetis協(xié)議是公開的,而ProLINK則是基于Profile上的。波特率可以遠(yuǎn)遠(yuǎn)大于這些值,但是波特率和距離成反比。有四種檢錯(cuò)方式:偶、奇、高和低。在空閑狀態(tài),線路呈現(xiàn)出高電平或者“1”狀態(tài)。對(duì)數(shù)據(jù)位周期中心采樣的偏差也不會(huì)超過位周期時(shí)間的1/16。 8. Input:從接收緩沖區(qū)中讀取數(shù)據(jù)并清空該緩沖區(qū),該屬性設(shè)計(jì)時(shí)無效,運(yùn)行時(shí)只讀。 14. CommEvent:這是一個(gè)非常重要的屬性。每條命令或數(shù)據(jù)都是一個(gè)字符串,并且以回車換行(\r\n)結(jié)束。 設(shè)置串口的相關(guān)參數(shù): void SetPortName(const CStringamp。查詢相關(guān)的器件信息: bool GetDeviceSn( char* sigma_sn )。Get*函數(shù)這些函數(shù)有 bool GetApertureAera(floatamp。 return false。采集過程中,在右上方的CurrentValue框中可以看到當(dāng)前功率,選中Hold復(fù)選框后,當(dāng)前功率數(shù)值將鎖定,取消Hold之后恢復(fù)顯示當(dāng)前功率。 }}數(shù)據(jù)的繪圖顯示在繪制的過程中,我們將當(dāng)前屏幕的位置計(jì)算出來,只繪制當(dāng)前屏幕顯示的內(nèi)容,而不是繪制所有畫幅來提高繪圖效率。 pDCMoveTo(i,0)。 sprintf_s(text,sizeof(text),%,i*axis_y_interval)。 }Ribbon控件的使用 RibbonRibbon是Visual Studio 2010最新提供的界面方案,實(shí)際上我們?cè)谟肙ffice2007的時(shí)候就看到過了。 } SCROLLINFO ScrollInfo。5. 按下Disconnect按鈕斷開計(jì)算機(jī)與功率計(jì)的連接,并到設(shè)備管理器中檢查COM1端口是否已經(jīng)釋放。t check date is invalid :) //Port name must like this: COM1 COM2... void SetBaudRate(int baud)。 bool GetDeviceSn( char* sigma_sn )。 HWND m_hOwnerWnd。}TSigma::~TSigma(void){ if(m_bConnected) Disconnect()。 =50。 =false。 COMSTAT ComStat。os,amp。 memset(amp。 ReadFile(pTSigmam_hPort,amp。 break。 return true。 SendSigmaMsg(SYST:INFO:PROB:SERN?)。 sprintf_s(str,sizeof(str),CONF:AREA:APER:%,area)。 ans ){ char str_ans[100]。 ResetEvent(m_hReceived)。 BOOL m_fHold。 m_fSendMessage=true。 return FALSE。 SendSigmaMsg(CONF:AREA:APER?)。}bool TSigma::GetProbeModel( char* probe_model ){ m_fSendMessage=false。}bool TSigma::GetDeviceSn( char* sigma_sn ){ m_fSendMessage=false。 } } } } CloseHandle()。 if(numRead) {// AfxMessageBox(received a char)。(pTSigmam_csCommunicationSync))。m_csCommunicationSync)。 EnterCriticalSection(amp。 } SendSigmaMsg(INIT)。 m_pThread = AfxBeginThread(CommProc,this,THREAD_PRIORITY_NORMAL, 0,CREATE_SUSPENDED,NULL)。 if(m_hPort==INVALID_HANDLE_VALUE) return false。 m_strPort = COM2。 bool m_bConnected。 //I think it39。下面給出了部分測(cè)試過程中的截圖: 打開之前采集過的數(shù)據(jù) 數(shù)據(jù)統(tǒng)計(jì)結(jié)果 截圖功能第六章 結(jié)束語在做畢業(yè)設(shè)計(jì)的過程中,對(duì)Windows程序和MFC程序結(jié)構(gòu)有了更深入的了解,第一次使用DocumentView結(jié)構(gòu)完成了有特定功能的引用程序,同時(shí)也是自己寫的第一個(gè)與硬件打交道的應(yīng)用程序。 CMainFrame *pFrame =(CMainFrame*)(AfxGetApp()m_pMainWnd)。}數(shù)據(jù)采集的開始與終止當(dāng)我們?cè)O(shè)置好串口相關(guān)的參數(shù),連接好,并設(shè)置好采樣周期之后,就可以開始數(shù)據(jù)采集。 pOldPen = pDCSelectObject(amp。 } pDCSelectObject(pOldPen)。 int t_max=(()START_X)/(axis_x_interval)。下面是3SigmaDoc的成員變量:public: CArraydouble,double m_dataArray。 m_pThread=NULL。 bool GetDeviceSn( char* sigma_sn )。 調(diào)用時(shí)機(jī)當(dāng)用戶點(diǎn)擊連接按鈕之后,程序執(zhí)行TSigma::Connect()函數(shù),Connect函數(shù)將串口按照指定參數(shù)設(shè)置好之后,使用AfxBeginThread()將該線程打開并掛起,然后Connect函數(shù)檢查AfxBeginThread()函數(shù)返回的指針,確認(rèn)非空后(說明打開線程正常),開始執(zhí)行。發(fā)送、收取一條信息: bool SendSigmaMsg(const char* msg)。 功率計(jì)常用命令一覽說明:命令有兩種:設(shè)置命令和查詢命令,表中有(?)的表示兩種命令都可用,有?的表示只有查詢命令,沒有?的表示只有設(shè)置命令。Windows環(huán)境下對(duì)串行端口進(jìn)行操作,是把它作為文件來處理的,其中涉及到大量API函數(shù),操作起來比較復(fù)雜,可以概括為以下的幾個(gè)操作步驟:1. 打開串行通信設(shè)備2. 指定并初始化讀寫緩沖區(qū)(可?。?. 設(shè)置串口屬性,配置DCB結(jié)構(gòu)4. 設(shè)置超時(shí)值5. 進(jìn)行串行數(shù)據(jù)通信6. 關(guān)閉串行端口串行通信一般可以分為同步和異步兩種操作方式。用戶可在OnComm事件處理程序中進(jìn)行相應(yīng)處理。使用MSComm控件時(shí),我們無需花時(shí)間了解復(fù)雜的API函數(shù),但仍使用控件間接的調(diào)用了API,再傳遞給驅(qū)動(dòng)程序執(zhí)行。處在最后的是停止位,停止位以“1”表示,位數(shù)可能是1位、1/2位或者2位。這樣使得接收設(shè)備能夠知道一個(gè)位的狀態(tài),有機(jī)會(huì)判斷是否有噪聲干擾了通信或者是否傳輸和接收數(shù)據(jù)是否不同步。擴(kuò)展的ASCII碼是0~255(8位)。通信使用3根線完成:(1)地線,(2)發(fā)送,(3)接收。自IBM PC/AT開始使用簡化了的9芯D型插座。數(shù)據(jù)存儲(chǔ)與管理要用存儲(chǔ)器把采集到的數(shù)據(jù)存儲(chǔ)起來,建立相應(yīng)的數(shù)據(jù)庫,并進(jìn)行管理和調(diào)用。由于這種數(shù)據(jù)采集分析系統(tǒng)的性能優(yōu)良,超過了傳統(tǒng)的自動(dòng)檢測(cè)儀表和專用數(shù)據(jù)采集分析系統(tǒng),因此獲得了驚人的發(fā)展。在計(jì)算機(jī)廣泛應(yīng)用的今天,數(shù)據(jù)采集的重要性是十分顯著的。班級(jí)050811學(xué)號(hào)08081068題目:基于RS232接口的數(shù)據(jù)采集分析系統(tǒng)研究學(xué)院:技術(shù)物理學(xué)院專業(yè):電子科學(xué)與技術(shù)學(xué)生姓名:于碩摘要RS232接口作為計(jì)算機(jī)通訊的一個(gè)標(biāo)準(zhǔn)接口在設(shè)備的通信傳輸,控制和狀態(tài)監(jiān)測(cè)等領(lǐng)域具有廣泛的應(yīng)用。數(shù)據(jù)采集系統(tǒng)整合了信號(hào)、傳感器、激勵(lì)器、信號(hào)調(diào)理、數(shù)據(jù)采集設(shè)備和應(yīng)用軟件。20世紀(jì)70年代中后期,隨著微型機(jī)的發(fā)展,誕生了采集器,儀表同計(jì)算機(jī)溶為一體的數(shù)據(jù)采集分析系統(tǒng)。輸入通道要實(shí)現(xiàn)對(duì)被測(cè)對(duì)象的檢測(cè),采樣和信號(hào)轉(zhuǎn)換等工作。傳統(tǒng)的RS232C接口標(biāo)準(zhǔn)有22根線,采用標(biāo)準(zhǔn)25芯D型插頭座。典型地,串口用于ASCII碼字符的傳輸。比如,標(biāo)準(zhǔn)的ASCII碼是0~127(7位)。高位和低位不真正的檢查數(shù)據(jù),簡單置位邏輯高或者邏輯低校驗(yàn)。奇偶位可以有也可以沒有。 MSComm控件介紹Microsoft Communication Control(簡稱MSComm)是Microsoft公司提供的簡化Windows下串行通信編程的ActiveX控件,為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。當(dāng)接收緩沖區(qū)中字符數(shù)達(dá)到該值時(shí),MSComm控件設(shè)置Commevent屬性為ComEvReceive,并產(chǎn)生OnComm事件。Windows的32位API主要是一系列復(fù)雜的函數(shù)和消息集合,可以看做是Windows系統(tǒng)為其下運(yùn)行的各種開發(fā)系統(tǒng)提供的開放式通用功能增強(qiáng)接口。參數(shù)設(shè)置命令后面加一個(gè)‘?’就會(huì)變成查詢命令,功率計(jì)會(huì)在收到查詢命令之后,將所查詢的參數(shù)發(fā)送回來。 bool isConnected()。下面詳細(xì)介紹CommProc。 ans)。 WaitFo
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1