久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

(三)MSComm控件進(jìn)行串口編程的基本步驟

 newencn 2011-10-25
MSComm控件進(jìn)行串口編程的基本步驟
1在建立的工程中插入MSComm控件
2添加MSComm控件ID的控制變量或?qū)ο?
3對(duì)串口進(jìn)行初始化,,設(shè)置MSComm控件的屬性
4添加串口事件的消息處理函數(shù)OnComm()函數(shù),在函數(shù)中根據(jù)應(yīng)用需要,,編寫數(shù)據(jù)處理代碼
5編寫串口發(fā)送等其他代碼
6關(guān)閉串口


個(gè)MSComm控件只能對(duì)應(yīng)一個(gè)串口,如果應(yīng)用程序需要訪問多個(gè)串口,,必須使用多個(gè)MSComm控件,。

處理通信問題的方式:事件驅(qū)動(dòng)方式(與中斷原理類似,觸發(fā)一個(gè)事件處理函數(shù)),,查詢方式,。

MSComm控件的重要屬性中的一部分
CommPort設(shè)置并返回通信端口號(hào)
Settings以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn),、數(shù)據(jù)位,、停止位。
PortOpen設(shè)置并返回通信端口的狀態(tài),??梢杂脕泶蜷_和關(guān)閉端口
Input從接受緩沖區(qū)返回和刪除字符串
Output向傳輸緩沖區(qū)寫一個(gè)字符串
每個(gè)屬性都通過Get/Set函數(shù)對(duì)來獲取或設(shè)置控件的屬性


屬性簡介

CommPort
設(shè)置并返回端口號(hào)
void CMSComm::SetCommPort(short nNewValue)
short CMSComm::GetCommPort()

RThreshold
在MSComm控件設(shè)置CommEvent屬性為comEvReceive并產(chǎn)生OnComm之前,設(shè)置并返回要接收的字符數(shù),。達(dá)到設(shè)定值則觸發(fā)OnComm,。
void CMSComm::SetRThreshold(short nNewValue)
short CMSComm::GetRThreshold()


CTSHolding
確定是否可通過查詢CTS線的狀態(tài)發(fā)送數(shù)據(jù)。硬件握手的手工查詢
void CMSComm::SetCTSHolding(BOOL bNewValue)
BOOL CMSComm::GetCTSHolding()

SThreshold
在MSComm控件設(shè)置CommEvent屬性為comEvSend并產(chǎn)生OnComm之前,,設(shè)置并返回傳輸緩沖區(qū)中允許的最小字符數(shù),。
void CMSComm::SetSThreshold(short nNewValue)
short CMSComm::GetSTreshold()

Handshaking
設(shè)置或返回硬件握手狀態(tài),使用內(nèi)部通信協(xié)議
void CMSComm::SetHandshaking(long nNewValue)
long CMSComm::GetHandshaking()

InputMode
設(shè)置或返回傳輸數(shù)據(jù)的類型
void CMSComm::SetInputMode(long nNewValue)
long CMSComm::GetInputMode()
DSRHolding
確定DSR線的狀態(tài)。
void CMSComm::SetDSRHolding(BOOL bNewValue)
BOOL CMSComm::GetDSRHolding()

Settings
設(shè)置并返回波特率,、奇偶校驗(yàn),、數(shù)據(jù)位、停止位參數(shù)
void CMSComm::SetSettings(LPCTSTR lpszNewValue)
CString CMSComm::GetSettings()
"BBBB,P,D,S"BBBB為波特率,,P為奇偶校驗(yàn),,D為數(shù)據(jù)位數(shù),S為停止位數(shù)
缺省值為"9600,N,8,1"

InputLen
設(shè)置并返回Input屬性從接收緩沖區(qū)讀取的字符數(shù)
void CMSComm::SetInputLen(short nNewValue)
short CMSComm::GetInputLen()
缺省值為0,,使用Input將使MSComm控件讀取接收緩沖區(qū)中的全部的內(nèi)容,。在使用Input前,可檢查InBufferCount屬性來確定緩沖區(qū)中是否已有需要數(shù)目的字符。此屬性在從輸出格式為定長數(shù)據(jù)的機(jī)器讀取數(shù)據(jù)時(shí)非常有用,。

InBufferSize
設(shè)置或返回輸入緩沖區(qū)的大小
void CMSComm::SetInBufferSize(short nNewValue)
short CMSComm::GetInBufferSize()
默認(rèn)為1024Byte

InBufferCount
設(shè)置或返回輸入緩沖區(qū)內(nèi)等待讀取的字節(jié)個(gè)數(shù)
void CMSComm::SetInBufferCount(short nNewValue)
short CMSComm::GetInBufferCount()
當(dāng)設(shè)置InBufferCount屬性的值為0時(shí),,可以清空接收緩沖區(qū)(很有用的功能)

OutBufferSize
設(shè)置或返回發(fā)送緩沖區(qū)的大小
void CMSComm::SetOutBufferSize(short nNewValue)
short CMSComm::GetOutBufferSize()
默認(rèn)為512字節(jié)。此值不能太小,,否則緩沖區(qū)易溢出,,但太大會(huì)不必要地占用內(nèi)存。

OutBufferCount
返回發(fā)送緩沖區(qū)的字節(jié)數(shù)或者清空發(fā)送緩沖區(qū)
void CMSComm::SetOutBufferCount(short nNewValue)
short CMSComm::GetOutBufferCount()
設(shè)置值為0時(shí)清空發(fā)送緩沖區(qū)

InPut
從接收緩沖區(qū)內(nèi)讀出數(shù)據(jù)
VARIANT CMSComm::GetInPut()
返回為VARIANT型變量
當(dāng)InPutMode為0時(shí),,檢取數(shù)據(jù)為文本方式,,變量中含有String型數(shù)據(jù)類型,當(dāng)InPutMode為1時(shí),,檢取數(shù)據(jù)為二進(jìn)制方式,,變量中含Byte數(shù)組型數(shù)據(jù)。

OutPut
向發(fā)送緩沖區(qū)寫數(shù)據(jù),,或返回發(fā)送緩沖區(qū)當(dāng)前的數(shù)據(jù)
void CMSComm::SetOutPut(const VARIANT&newValue)
VARIANT CMSComm::GetOutPut()

PortOpen
用于打開或關(guān)閉串口,,或返回串口的開、關(guān)狀態(tài)
void CMSComm::SetPortOpen(BOOL bNewValue)
BOOL CMSComm::GetPortOpen()
TURE打開串口,,F(xiàn)ALSE關(guān)閉串口,,程序終止后,MSComm控件自動(dòng)關(guān)閉串口

EOFEnable
確定在輸入過程中MSComm控件是否尋找文件結(jié)尾EOF字符,,如果找到EOF字符,,將停止輸入并激活OnComm事件,此時(shí)CommEvent屬性設(shè)置為ComEvEOF
void CMSComm::SetEOFEnable(BOOL bNewValue)
BOOL CMSComm::GetEOFEnable()

DTREnalbe
設(shè)置或返回DTR線狀態(tài),。
void CMSComm::SetDTREnable(BOOL bNewValue)
BOOL CMSComm::GetDTREnable()

RTSEnable
確定是否使RTS線有效
void CMSComm::SetRTSEnable(BOOL bNewValue)
BOOL CMSComm::GetRTSEnable()

Break
設(shè)置或清除中斷信號(hào)的狀態(tài)
void CMSComm::SetBreak(BOOL bNewValue)
BOOL CMSComm::GetBreak()

CommID
返回一個(gè)說明通信設(shè)備的句柄,。
void CMSComm::SetCommID(long nNewValue)
long CMSComm::GetCommID()
該值與WindowsAPICreateFile函數(shù)返回的值一致。

NullDiscard
確定Null字符是否從端口傳送到接收緩沖區(qū)
void CMSComm::SetNullDiscard(BOOL bNewValue)
BOOL CMSComm::GetNullDiscard()

OnComm事件和CommEvent屬性
設(shè)置或返回?zé)o論何時(shí)當(dāng)CommEvent屬性的值變化時(shí),,就產(chǎn)生OnComm事件,,標(biāo)志發(fā)生了一個(gè)通信事件或一個(gè)錯(cuò)誤。CommEvent屬性值反映錯(cuò)誤或者事件類型,,通常在程序中的事件消息處理函數(shù)中對(duì)CommEvent事件進(jìn)行處理,。
void CMSComm::SetCommEvent(short nNewValue)
short CMSComm::GetCommEvent()
通常由函數(shù)GetCommEvent()得到當(dāng)前事件值,再進(jìn)行相應(yīng)的處理,。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多