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

正文內(nèi)容

串行異步通信程序設(shè)計(jì)(編輯修改稿)

2025-08-03 12:21 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 Comm控件的屬性對(duì)CWy10250119::OnInitDialog()函數(shù)中寫入對(duì)串口的初始化語(yǔ)句,串口初始化語(yǔ)句由IDC_MSCOMM1的CMSComm控制變量m_ctrlComm來(lái)設(shè)置串口控件屬性。添加初始化代碼代碼如下:// TODO: Add extra initialization here if(()) (FALSE)。 (1)。 //選擇1 if( !()) (TRUE)。//打開(kāi)串口 else AfxMessageBox(cannot open serial port)。 (9600,n,8,1)。 //波特率9600,無(wú)校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停止位 (1)。 //1:表示以二進(jìn)制方式檢取數(shù)據(jù) (1)。 //參數(shù)1表示每當(dāng)串口接收緩沖區(qū)中有多于或等于1個(gè)字符時(shí)將引發(fā)一個(gè)接收數(shù)據(jù)的OnComm事件 (0)。 //設(shè)置當(dāng)前接收區(qū)數(shù)據(jù)長(zhǎng)度為0 添加串口事件消息處理函數(shù)OnComm()打開(kāi)工具欄查看按鈕,建立類向?qū)FC ClassWizard,然后選擇Message Maps,在Class Name中選擇類Cmy10250119Dlg,再在Object IDs 中選擇IDC_MSCOMM1,然后在Message中雙擊消息OnComm,在彈出的對(duì)話框中將函數(shù)名改為OnComm,單擊“OK”,就加入了串口事件的消息處理函數(shù),如圖318圖 318 添加消息處理函數(shù)然后編寫OnComm()中的代碼,主要任務(wù)是從串口接收數(shù)據(jù)并顯示在接收編輯框中。代碼如下:void CSCommTestDlg::OnComm() { // TODO: Add your control notification handler code here VARIANT variant_inp。 COleSafeArray safearray_inp。 LONG len,k。 BYTE rxdata[2048]。 //設(shè)置BYTE數(shù)組 An 8bit integerthat is not signed. CString strtemp。 if(()==2) //事件值為2表示接收緩沖區(qū)內(nèi)有字符 { ////////以下你可以根據(jù)自己的通信協(xié)議加入處理代碼 variant_inp=()。 //讀緩沖區(qū) safearray_inp=variant_inp。 //VARIANT型變量轉(zhuǎn)換為ColeSafeArray型變量 len=safearray()。 //得到有效數(shù)據(jù)長(zhǎng)度 for(k=0。klen。k++) (amp。k,rxdata+k)。//轉(zhuǎn)換為BYTE型數(shù)組 for(k=0。klen。k++) //將數(shù)組轉(zhuǎn)換為Cstring型變量 { BYTE bt=*(char*)(rxdata+k)。 //字符型 (%c,bt)。 //將字符送入臨時(shí)變量strtemp存放 m_strRXData+=strtemp。 //加入接收編輯框?qū)?yīng)字符串 } } UpdateData(FALSE)。 //更新編輯框內(nèi)容 } 發(fā)送數(shù)據(jù)先為發(fā)送按添加一個(gè)單擊消息BN_CLICKED處理函數(shù),打開(kāi)ClassWizard,選擇Message Maps,打開(kāi)類Cmy10250119Dlg,IDC_BUTTON_MANUALSEND,雙擊BN_CLICKED添加OnButtonManualsend()函數(shù),如圖319所示:圖319 BN_CLICKED處理函數(shù)然后在程序中分別添加如下對(duì)應(yīng)的代碼:void CSCommTestDlg::OnButtonManualsend() { // TODO: Add your control notification handler code here   UpdateData(TRUE)。 //讀取編輯框內(nèi)容   (COleVariant(m_strTXData))。//發(fā)送數(shù)據(jù) } 第四章 串口通信調(diào)試 虛擬串口由于我們電腦的端口限制,我們使用第三方軟件Virtual Serial Ports Driver提供的虛擬串口來(lái)完成課程演示。虛擬串口本身是不存在的,而是由軟件模擬出來(lái)的,通過(guò)軟件控制端口,并添加端口COM4和COM5,其過(guò)程如下圖所示:圖 41 虛擬串口 設(shè)置串口大師打開(kāi)“串口大師”軟件,設(shè)置串口號(hào)為COM波特率9600、校驗(yàn)位NO、數(shù)據(jù)位停止位1等參數(shù)(注意:設(shè)置的參數(shù)必須與儀器設(shè)置的一致),打開(kāi)串口,如下圖所示:圖42 串口調(diào)試助手界面圖 43 打開(kāi)串口調(diào)試助手串口 用串口大師測(cè)試MSCommTest程序運(yùn)行MSCommTest程序,在發(fā)送框內(nèi)輸入“10250119”再點(diǎn)擊“發(fā)送”,觀察串口大師軟件的接收框,發(fā)現(xiàn)可以準(zhǔn)確無(wú)亂碼地接收到;在串口大師輸入框內(nèi)輸入“wanglaoshi shengtijiankang!”點(diǎn)擊“發(fā)送”,觀察到MSCommTest程序接收框也可以準(zhǔn)確地接收到信息,如下圖所示:圖44 運(yùn)行10250119程序圖45 測(cè)試界面程序圖46 程序發(fā)送數(shù)據(jù)圖47 串口助手接收數(shù)據(jù)圖48串口助手發(fā)送數(shù)據(jù)圖 49程序接收數(shù)據(jù)從上圖可以看出使用Virtual Serial Ports Driver虛擬串口實(shí)現(xiàn)了雙方的虛擬通信,通過(guò)數(shù)據(jù)顯示結(jié)果與理論結(jié)果完全一致???結(jié)本次課程設(shè)計(jì)成功地實(shí)現(xiàn)了數(shù)據(jù)發(fā)送、數(shù)據(jù)接收,以及互相發(fā)送,由于數(shù)據(jù)發(fā)送會(huì)受一些因素的影響,因此在發(fā)送數(shù)據(jù)時(shí)有時(shí)會(huì)存在明顯的延遲。本次課程設(shè)計(jì),在VC++,利用MSComm控件編寫串口通信程序,實(shí)現(xiàn)了串口通信發(fā)送數(shù)據(jù)、接收數(shù)據(jù)的功能。這次課程設(shè)計(jì)是十分有意義,串行異步通信程序設(shè)計(jì)。在設(shè)計(jì)過(guò)程中困難是很多,其主要表現(xiàn)在不熟練軟件編程。在實(shí)驗(yàn)過(guò)程中需要注意在添加控件的時(shí)候要及時(shí)編輯它的名稱和控制變量,并在程序的調(diào)用中正確使用,否則一個(gè)不小心就會(huì)出現(xiàn)錯(cuò)誤。首先,把自己學(xué)過(guò)的知識(shí)又鞏固了一遍。這樣一來(lái),使理解的知識(shí)更加通透,不甚明了的知識(shí)也通過(guò)學(xué)習(xí)、向老師請(qǐng)教、與同學(xué)探討等方法而收獲。其次,團(tuán)隊(duì)的力量是強(qiáng)大的。很多時(shí)候在知識(shí)的角落里迷惑,設(shè)計(jì)停滯不前時(shí),同組的同學(xué)給了我很多的啟迪。最后,細(xì)節(jié)決定成敗。不做系統(tǒng),許多細(xì)小的環(huán)節(jié)是注意不到的。而這諸多環(huán)節(jié)往往影響你整個(gè)系統(tǒng)的正常運(yùn)轉(zhuǎn)。這可真應(yīng)驗(yàn)了“細(xì)節(jié)決定一切”這句話。這一切告訴我做任何事情必須從全局出發(fā),并且要注意其中的任何一個(gè)細(xì)節(jié)。參考文獻(xiàn)[1] 龔建偉, C++/Turbo C串口通信編程實(shí)踐[M].[2] . 北京市:北京航空航天大學(xué)出版社,2007[3] : 西安電子科技大學(xué)出版社,1999 [4](美)史蒂芬(Stevens,A.), ++寶典[
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1