久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

串口通訊實驗報告

時間:2019-05-12 07:29:10下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《串口通訊實驗報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《串口通訊實驗報告》。

第一篇:串口通訊實驗報告

網(wǎng)絡編程與實踐實驗報告

實驗內(nèi)容:串口通信編程 學號:S201502189 姓名:職榮豪 日期:2015-9-28

一、實驗要求

使用VS2010編寫基于對話框的MFC應用程序,兩個窗口分別使用兩個串口,使得這兩個窗口可以進行通信,包括數(shù)據(jù)的發(fā)送與接收。

二、實驗原理

本實驗使用Microsoft Communications Control控件,利用這個ActiveX控件,只需要編寫少量代碼即可輕松進行通信。

該控件相關的函數(shù)如下: put__CommPort:設置串口號

put_Settings:以字符串的形式設置波特率、奇偶校驗位(n-無校驗,e-偶校驗,o-奇校驗)、數(shù)據(jù)位數(shù)、停止位數(shù)

put_InputMode:設置接收數(shù)據(jù)的類型(0-文本類型,1-二進制類型)put_InputLen:設置從接收緩沖區(qū)讀取的字節(jié)數(shù),0表示全部讀取 put_InBufferSize:設置接收緩沖區(qū)大小 put_OutBufferSize:設置發(fā)送緩沖區(qū)大小

put_RThreshold:設定當接收幾個字符時觸發(fā)OnComm事件,0表示不產(chǎn)生事件,1表示每接收一個字符就產(chǎn)生一個事件

put_SThreshold:設定在觸發(fā)OnComm事件前,發(fā)送緩沖區(qū)內(nèi)所允許的最少的字符數(shù),0表示發(fā)送數(shù)據(jù)時不產(chǎn)生事件,1表示當發(fā)送緩沖區(qū)空時產(chǎn)生OnComm事件

put_PortOpen:打開或關閉串口,傳入?yún)?shù)為true時打開串口,傳入?yún)?shù)為false時關閉串口 get_CommEvent:獲得串口上剛發(fā)生的事件,事件值為2表示接收到數(shù)據(jù)

get_InBufferCount:獲得緩沖區(qū)中的數(shù)據(jù)位數(shù)

get_Input:獲取緩沖區(qū)數(shù)據(jù),返回類型為VARIANT put_Output:發(fā)送數(shù)據(jù)

三、設計思路

需要添加一個Microsoft Communications Control控件,用于進行串口通信。由于要求同一程序可運行兩個窗口進行相互通信,需要兩個窗口開啟兩個不同串口,故需要添加一個Edit Control控件用于輸入串口號,并添加打開串口按鈕,在點擊該按鈕時對串口控件的參數(shù)進行設置并開啟串口。同時添加關閉串口按鈕,點擊后關閉串口并可以對串口號進行修改。

需要添加兩個Edit Control 分別用于顯示接收到的數(shù)據(jù)以及輸入要發(fā)送的數(shù)據(jù)。需要添加一個發(fā)送按鈕,點擊后發(fā)送輸入的數(shù)據(jù)。

四、實驗步驟

1.建立基于對話框的MFC應用程序 2.添加界面控件并設置ID與Caption 添加Microsoft Communications Control控件,用于進行串口通信 添加一個Edit Control控件,用于輸入串口號,ID設置為IDC_PORT 添加一個Static Text控件,用于標注端口號,將Caption設置為“串口號:”

添加兩個按鈕,分別用于打開串口、關閉串口。IDC分別設置為IDC_BTN_OPEN、IDC_BTN_CLOSE,Caption分別設置為“打開”、“關閉” 添加兩個Edit Control,分別用于顯示接收到的數(shù)據(jù)以及輸入要發(fā)送的數(shù)據(jù),ID分別設置為IDC_RECEIVE、IDC_SEND 添加兩個Static Text控件,用于標注接收區(qū)與發(fā)送區(qū),Caption分別設置為“接收區(qū)”、“發(fā)送區(qū)”

添加一個按鈕用于發(fā)送數(shù)據(jù),ID設置為IDC_BTN_SEND,Caption設置為“發(fā)送” 調(diào)整控件的大小與位置。

完成后如圖:

3.給控件綁定變量

右鍵單擊Microsoft Communications Control控件,選擇“添加變量”,變量名為m_com 打開類向?qū)Ыo控件添加變量:

給IDC_PORT綁定變量,用于存放輸入的端口號,數(shù)據(jù)類型為int,變量名為m_port 給IDC_RECEIVE綁定變量,用于存放接收到的數(shù)據(jù),數(shù)據(jù)類型為CString,變量名為m_strReceive 給IDC_SEND綁定變量,用于存放輸入的待發(fā)送的數(shù)據(jù),數(shù)據(jù)類型為CString,變量名為m_strSend

4.給控件添加事件響應函數(shù)

右鍵單擊Microsoft Communications Control控件,選擇“添加事件處理程序”,點擊“添加編輯”,生成響應函數(shù),此函數(shù)用于接收數(shù)據(jù)。

在函數(shù)中添加以下代碼:

UpdateData(TRUE);if(nEvent == 2){

} UpdateData(FALSE);//將m_strReceive的值顯示到控件中

//更新m_strReceive的值

//獲取事件值

//獲取緩沖區(qū)位數(shù)

//時間值為2,此時為收到數(shù)據(jù) int nEvent = m_com.get_CommEvent();int k = m_com.get_InBufferCount();if(k <= 0)//位數(shù)小于等于0時則返回 return;char* str =(char*)m_com.get_Input().parray->pvData;//獲取接收到數(shù)據(jù)的字*(str + k)= '

主站蜘蛛池模板: 俄罗斯老熟妇色xxxx| 日韩精品无码中文字幕电影| 日日躁夜夜躁白天躁晚上| 久久97精品久久久久久久不卡| 国产精品网站在线观看免费传媒| 人成午夜免费视频在线观看| 天天躁日日躁狠狠躁人妻| 久久久一本精品99久久精品66| 亚洲av永久无码精品网站在线观看| 午夜精品久久久久久久无码| 性色av免费观看| 红桃av一区二区三区在线无码av| 亚洲国产成人av片在线播放| 又白又嫩毛又多15p| 久久久久国产精品无码免费看| 久久99精品久久久久久婷婷2021| 毛茸茸性xxxx毛茸茸毛茸茸| 久久亚洲中文字幕伊人久久大| 国产一区二区三区四区精华| 精品无码综合一区二区三区| 亚洲人成电影在线观看天堂色| 狠狠久久久久综合成人影院| 午夜性色一区二区三区不卡视频| 欧美丰满熟妇bbb久久久| av不卡国产在线观看| 日本一区二区三区免费播放| 国产一区日韩二区欧美三区| 日日狠狠久久8888偷偷色| 粗了大了 整进去好爽视频| 黑人玩弄人妻1区二区| 人妻系列无码专区无码专区| 成人又黄又爽又色的网站| 亚洲国产老鸭窝一区二区三区| 亚洲中文字幕日产乱码在线| 国产永久av福利在线观看| 欧美黑人乱大交| 国产寡妇树林野战在线播放| 久久精品国产99久久久古代| 久久综合亚洲色一区二区三区| 狠狠躁天天躁中文字幕| 无码人妻巨屁股系列|