VB(11)第五章 串口通信方法與實(shí)現(xiàn)1.ppt_第1頁(yè)
VB(11)第五章 串口通信方法與實(shí)現(xiàn)1.ppt_第2頁(yè)
VB(11)第五章 串口通信方法與實(shí)現(xiàn)1.ppt_第3頁(yè)
VB(11)第五章 串口通信方法與實(shí)現(xiàn)1.ppt_第4頁(yè)
VB(11)第五章 串口通信方法與實(shí)現(xiàn)1.ppt_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1 1RS 232串口知識(shí)簡(jiǎn)介1 1 1RS 232串口管腳定義 1 1 4RS 232C串口通信參數(shù)1 數(shù)據(jù)的傳送速度波特率 bps 是指每秒鐘所傳送的數(shù)據(jù)位數(shù) 原始信號(hào)經(jīng)過不一樣的波特率取樣后 所得的結(jié)果完全不同 如圖所示 2 數(shù)據(jù)的傳送單位 數(shù)據(jù)包含的位數(shù) 例如 1個(gè)起始位 8個(gè)數(shù)據(jù)位 0個(gè)校驗(yàn)位 1個(gè)停止位數(shù)據(jù)格式共有10位 所以通信中最小的傳輸單位是10位 每秒鐘傳輸?shù)淖止?jié)數(shù) 波特率為9600bps 采用十位數(shù)據(jù)格式 則 9600 10 960 字節(jié) 秒 傳輸1M字節(jié)的數(shù)據(jù) 需要的時(shí)間為 1000000 960 17 分 因此 串口通信通常用在數(shù)據(jù)量不是很大的場(chǎng)合 1 1 7RS 232C串口通信的硬件連接1 單機(jī)模擬方式 使用一個(gè)串口 COM1或COM2 將串口的第2腳 RXD 與第3腳 TXD 短接線 單機(jī)模擬串口通信的另外一種方法是 制作一條串口聯(lián)接電纜 如下圖所示 2 兩臺(tái)計(jì)算機(jī)電纜聯(lián)機(jī)方式在兩臺(tái)計(jì)算機(jī)上進(jìn)行串口通信 只要將上面制作的串口連接電纜的兩端分別連接在兩臺(tái)計(jì)算機(jī)的COM1 或COM2 1 2MSComm控件的屬性和事件1 2 1MSComm控件的引用在控件工具箱中添加 MicrosoftCommControl6 0控件 該控件的原文件為系統(tǒng)目錄下的System子目錄中的MSComm32 ocx文件 1 通信參數(shù)設(shè)置 1 CommPort屬性語(yǔ)法 MSComm1 CommPort Value 作用 設(shè)置 返回通訊使用的串口號(hào) 類型 Integer取值 Value 1 2 16 舉例 MSComm1 CommPort 2說(shuō)明 必須在打開端口之前設(shè)置CommPort屬性 2 Settings屬性語(yǔ)法 MSComm1 Settings Value 作用 設(shè)置或返回通信參數(shù) 通信參數(shù)包括波特率 奇偶校驗(yàn)位 數(shù)據(jù)位 停止位 格式 BBBB P D S 類型 String取值 Value BBBB P D S Settings屬性的缺省值是 9600 N 8 1 舉例 MSComm1 Settings 1200 e 8 1 3 Handshaking屬性語(yǔ)法 MSComm1 Handshaking Value 作用 設(shè)置或返回硬件握手協(xié)議 類型 Integer取值 0 沒有握手協(xié)議 默認(rèn) 1 XON XOFF 2 RTS CTS 3 XON XOFF和RTS CTS兩者皆可 2 打開 關(guān)閉端口 4 PortOpen屬性語(yǔ)法 MSComm1 PortOpen Value 作用 打開或關(guān)閉通訊串行端口 在設(shè)計(jì)時(shí)無(wú)效 類型 Boolean型 取值 True 打開 False 關(guān)閉 說(shuō)明 必須保證CommPort和Settings屬性設(shè)置正確 3 發(fā)送數(shù)據(jù) 5 OutPut屬性語(yǔ)法 MSComm1 OutPut Variant 作用 向輸出緩沖區(qū)寫數(shù)據(jù)流并將數(shù)據(jù)發(fā)送出去 類型 Variant型取值 要傳輸?shù)奈谋緮?shù)據(jù)或二進(jìn)制數(shù) 說(shuō)明 傳輸文本數(shù)據(jù)時(shí) 應(yīng)將String型數(shù)據(jù)放入Variant變量 傳輸二進(jìn)制數(shù)據(jù) 字節(jié) 時(shí) 應(yīng)將Byte型數(shù)組數(shù)據(jù)放入Variant變量 舉例 MSComm1 OutPut Text1 text 6 OutBufferSize屬性語(yǔ)法 MSComm1 OutBufferSize Value 作用 設(shè)置或返回輸出緩沖區(qū)大小 類型 Integer型 取值 輸出緩沖區(qū)的字節(jié)數(shù) 默認(rèn)值為512字節(jié) OutBufferSize屬性的最大值為 32767字節(jié) OutBufferSize屬性值應(yīng)根據(jù)需要選取 7 SThreshold屬性語(yǔ)法 MSComm1 SThreshold Value 作用 設(shè)置或返回發(fā)送緩沖區(qū)中允許的最小字符數(shù) 該屬性和MSComm控件的OnComm事件有關(guān)聯(lián) Sthreshold屬性為0 缺省值 數(shù)據(jù)傳輸事件不會(huì)產(chǎn)生OnComm事件 類型 Integer型取值 發(fā)送緩沖區(qū)中允許的最小字符數(shù) 4 接收數(shù)據(jù) 8 Input屬性語(yǔ)法 MSComm1 Input Variant 作用 從接收緩沖區(qū)中接收數(shù)據(jù)并將數(shù)據(jù)讀入應(yīng)用程序中 類型 Variant型 數(shù)值 接收緩沖區(qū)中收到的數(shù)據(jù) 說(shuō)明 接收文本數(shù)據(jù)時(shí) 讀入的數(shù)據(jù)為String型 接收二進(jìn)制數(shù)據(jù)時(shí) 讀入的數(shù)據(jù)為Byte型數(shù)組數(shù)據(jù) 舉例 Text1 MSComm1 Input 9 InBufferSize屬性語(yǔ)法 MSComm1 InBufferSize Value 作用 設(shè)置或返回接收緩沖區(qū)大小 類型 Integer型取值 接收緩沖區(qū)的字節(jié)數(shù) 默認(rèn)值為1024字節(jié) InBufferSize屬性的最大值為 32767字節(jié) 說(shuō)明 InBufferSize值應(yīng)根據(jù)需要選取 10 InputMode屬性語(yǔ)法 MSComm1 InputMode Value 作用 設(shè)置或返回接收數(shù)據(jù)的數(shù)據(jù)類型 類型 Integer型取值 0 接收文本型數(shù)據(jù) 1 接收二進(jìn)制數(shù)據(jù) 說(shuō)明 InputMode屬性決定Input屬性取回?cái)?shù)據(jù)的格式是字符串還是二進(jìn)制數(shù)據(jù)的數(shù)組 11 InBufferCount屬性語(yǔ)法 MSComm1 InBufferCount Value 作用 返回接收緩沖區(qū)中已傳到但還未取走的字符個(gè)數(shù) 該屬性在設(shè)計(jì)時(shí)無(wú)效 類型 Integer型取值 未取走的字符個(gè)數(shù) 說(shuō)明 InBufferCount是指已接收 并在接收緩沖區(qū)等待被取走數(shù)據(jù)的字符數(shù) 可以把InBufferCount屬性設(shè)置為0來(lái)清除接收緩沖區(qū) 12 RThreshold屬性語(yǔ)法 MSComm1 RThreshold Value 作用 設(shè)置或返回在接收多少個(gè)字符數(shù)時(shí) 產(chǎn)生OnComm事件 與SThreshold屬性相同 該屬性也和MSComm控件的OnComm事件有關(guān)聯(lián) 類型 Integer型取值 說(shuō)明在產(chǎn)生OnComm事件之前要接收的字符數(shù) 說(shuō)明 當(dāng)接收字符后 若Rthreshold屬性設(shè)置為0 缺省值 則不產(chǎn)生OnComm事件 設(shè)置Rthreshold為1 接收緩沖區(qū)收到每一個(gè)字符都會(huì)產(chǎn)生OnComm事件 5 狀態(tài)控制 13 DTREnabled 14 RTSEnabled 15 DSRHolding 16 CTSHolding 17 CDHolding 以上五個(gè)屬性均取值True False 用于讀取或控制串口管腳的狀態(tài) 1 3編程串口通信程序用VB編寫串口通信程序的基本步驟如下 在工程中加入MSComm控件 設(shè)置CommPort屬性選擇通信串口 設(shè)置Settings屬性選擇通信參數(shù) 設(shè)置PortOpen True打開通信串口 使用Output或Input屬性發(fā)送或接收數(shù)據(jù) 通信任務(wù)結(jié)束后 設(shè)置PortOpen屬性為False關(guān)閉串口 1 3 1最簡(jiǎn)單的串口通信程序1 通信的硬件連接采用單機(jī)模擬通信方式 串口選擇COM1 默認(rèn)值 將COM1的第2腳和第3腳端接 如果串口COM1被占用 可以選擇COM2 2 軟件編程運(yùn)行VB6 0 在彈出的 新建工程 中 選擇 標(biāo)準(zhǔn)EXE 選項(xiàng) 單擊 確定 按鈕 進(jìn)入VB6 0的集成開發(fā)環(huán)境 1 界面設(shè)計(jì) 2 編寫代碼在Form Load中加入代碼 MSComm1 PortOpen True在Command1 Click中加入代碼 MSComm1 Output Text1 Text在Command2 Click中加入代碼 Text2 Text MSComm1 Input在Command3 Click中加入代碼 End 完整的程序代碼如下 PrivateSubCommand1 Click MSComm1 O

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論