亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        用VB6.0實(shí)現(xiàn)計(jì)算機(jī)間串口通信

        2008-12-31 00:00:00李永勝
        電腦知識(shí)與技術(shù) 2008年8期

        摘要:本文主要介紹利用VB6.0串行通信編程的方法,利用MSComm控件實(shí)現(xiàn)計(jì)算機(jī)與計(jì)算機(jī)間的串口通信。

        關(guān)鍵詞:串口通信;VB6.0;MSCOMM控件

        中圖分類號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)08-10ppp-0c

        隨著互聯(lián)網(wǎng)的不斷發(fā)展,計(jì)算機(jī)間的相互通信已非常普遍,只要通過計(jì)算機(jī)的串行口就可以實(shí)現(xiàn)。而對(duì)于串口通信的編程軟件,微軟公司的Visual Basic 6.0(簡(jiǎn)稱VB6.0)以其友好的開發(fā)界面、簡(jiǎn)單易用、實(shí)用性強(qiáng)等優(yōu)點(diǎn)已在國(guó)內(nèi)外得到廣泛應(yīng)用。

        VB6.0提供了許多供用戶選擇的控件,這些控件以.OCX為文件后綴名,其中MSComm.OCX即是用于串行通信的控件。如果需要使用該控件,可將控件添加到工具箱內(nèi),這樣就可以利用該控件進(jìn)行串行通信程序的設(shè)計(jì)。

        下面這個(gè)例子,說明如何進(jìn)行串行通信程序設(shè)計(jì),該程序在Windows98環(huán)境下已調(diào)試通過。在調(diào)試程序時(shí),很難做到一個(gè)人同時(shí)占有兩臺(tái)計(jì)算機(jī)。為此,可通過直接短接串口的2、3兩個(gè)腳,即將串行口的2、3腳連接在一起,從而使發(fā)送的信息直接被本機(jī)接收。這樣,就可以在一臺(tái)計(jì)算機(jī)上調(diào)試程序。

        1 MSComm控件常用屬性

        Commport 設(shè)置并返回通信端口號(hào)。

        Settings 以字符串的形式設(shè)置并返回波特率、奇偶校驗(yàn)、數(shù)據(jù)位、停止位。

        PortOpen設(shè)置并返回通信端口的狀態(tài),也可以打開和關(guān)閉端口。

        InBufferSize 設(shè)置并返回接收緩沖區(qū)的字符數(shù)。

        Input 從接收緩沖區(qū)返回和刪除字符。

        InputLen設(shè)置并返回Input屬性從緩沖區(qū)讀取的字符數(shù)。

        OutBufferSize以字符形式設(shè)置并返回傳輸緩沖區(qū)的大小。

        Output向傳輸緩沖區(qū)寫數(shù)據(jù)。

        2 用戶界面設(shè)計(jì)

        首先新建一個(gè)“標(biāo)準(zhǔn)EXE”工程,然后選擇“工程/部件”菜單項(xiàng),在“部件”對(duì)話框中選擇Microsoft Comm Control6。0 即可添加MSComm控件;再在窗體中依次布置如下控件并設(shè)置其屬性。

        完成后的界面如圖1所示。

        圖1 運(yùn)行主界面

        3 編寫程序代碼

        編寫的程序代碼如下:

        Private Sub Form_Load()

        Msc1.commport=1‘使用串行口1

        Msc1.settings=”9600,N,8,1”‘波特率9600,奇校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停止位

        Msc1.InputLen=0 ‘讀取接收緩沖區(qū)的所有字符

        Msc1.InBufferSize = 2048‘設(shè)置接收緩沖區(qū)為2048字節(jié)

        Msc1.OutBufferSize = 1024 ‘設(shè)置發(fā)送緩沖區(qū)為1024字節(jié)

        Msc1.PortOpen=True‘打開串行口

        End Sub

        Private Sub Command1_Click()‘發(fā)送信息

        Dim n As String

        On Error Resume Next

        IfRTB1.Text = \" \" Then

        n = MsgBox(\"發(fā)送信息為空,請(qǐng)輸入發(fā)送信息!\", vbOKCancel + vbQuestion, \"發(fā)送信息出錯(cuò)\")

        End If

        m = Len(RTB1.Text)‘取發(fā)送信息的字符長(zhǎng)度

        If m > Msc1.OutBufferSize Then

        Msc1.Output = Mid(RTB1.Text, 1, Msc1.OutBufferSize / 2)

        RTB1.Text = Mid(RTB1.Text, Msc1.OutBufferSize / 2 + 1)

        Else

        Msc1.Output = RTB1.Text

        RTB1.Text = \"\"

        RTB1.Visible = False

        End If

        ‘如果發(fā)送信息的字符長(zhǎng)度大于發(fā)送緩沖區(qū)的大小,按發(fā)送緩沖區(qū)的大小發(fā)送信息,發(fā)送文本框保留未發(fā)送信息;否則將信息全部發(fā)送,并將發(fā)送文本框清空。

        End Sub

        Private Sub Command2_Click() ‘接收信息

        RTB2.Visible = True

        RTB2.Text = \"\"

        DoEvents‘該語句使程序可以在此處響應(yīng)其他事件

        If Msc1.InBufferCount > 0 Then

        Timer1.Enabled = True

        RTB2.Text = Msc1.Input

        End If

        Msc1.PortOpen = False

        Timer1.Enabled = False

        ‘如果接收緩沖區(qū)字符數(shù)不為零,則將接收緩沖區(qū)字符在接收文本框中顯示;否則關(guān)閉串行口,結(jié)束通信。

        End Sub

        Private Sub Command3_Click() ‘清除信息

        RTB2.Text = \" \"

        IfMsc1.PortOpen = True Then

        Msc1.PortOpen = False

        End If

        RTB2.Visible = False

        End Sub

        ‘清除接收文本框中信息,關(guān)閉串行口,結(jié)束通信,并使接收文本框不可見。

        4 幾點(diǎn)說明

        為了使該設(shè)計(jì)更加便于操作,本設(shè)計(jì)在界面上加入了菜單欄的設(shè)計(jì),通過對(duì)菜單按鈕的操作,能實(shí)現(xiàn)對(duì)通信信息的發(fā)送與接收。此外,為了實(shí)現(xiàn)對(duì)通信信息的打開、保存及打印,本設(shè)計(jì)引用了VB6.0中的控件RichTextBox,利用該控件的RichTextBox.LoadFile, RichTextBox.SaveFile,RichTextBox.selprint Printer.hDC屬性即可實(shí)現(xiàn)上述功能。鑒于篇幅有限,該程序代碼沒有給出??傊?,使用VB6.0開發(fā)Windows98下計(jì)算機(jī)間的串口通信程序是非常簡(jiǎn)單的。

        參考文獻(xiàn):

        [1]周軼峰,等.Visual Basic 6.0實(shí)用編程技術(shù)[M].中國(guó)水利水電出版社,1999.

        [2]鄭阿奇.Visual Basic實(shí)用教程[M].電子工業(yè)出版社,2000.

        [3]俞旭明,等.Visual Basic 6.0網(wǎng)絡(luò)開發(fā)技術(shù)[M].人民郵電出版社,1999.

        [4]李玉東,等.Visual Basic 6.0控件大全[M].電子工業(yè)出版社,2000.

        精品免费国产一区二区三区四区| 国产边摸边吃奶叫床视频| 亚洲av无码专区亚洲av网站| 亚洲欧美在线观看| 无码国产精品第100页| 少妇高潮太爽了免费网站| 亚洲处破女av日韩精品中出| 成人午夜性a级毛片免费| 国产成人精品日本亚洲11| 91短视频在线观看免费| 人妻少妇激情久久综合| 亚洲免费观看视频| 欧美成人午夜精品久久久| 久久无码精品精品古装毛片| 国产剧情无码中文字幕在线观看不卡视频| 精品国产亚洲av久一区二区三区| 国产一区白浆在线观看| 青青青爽在线视频观看| 免费看泡妞视频app| 视频国产精品| 亚洲av黄片一区二区| 亚洲香蕉av一区二区三区| 九九热线有精品视频86| 国产成人精品一区二区视频| 人妻丰满av无码中文字幕| 偷拍熟女露出喷水在线91| 人妻制服丝袜中文字幕| 激情综合色综合久久综合| 成人动漫久久| 人妻少妇中文字幕av| 后入内射国产一区二区| 精品无码一区二区三区亚洲桃色| 无码国产精品色午夜| 伊人狼人影院在线视频| 中国少妇久久一区二区三区| 在线成人一区二区| 亚州AV无码乱码精品国产| 亚洲天堂一区二区三区| 国产极品美女高潮无套| 日韩精品无码视频一区二区蜜桃| 在线观看精品国产福利片87|