999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用VB6.0實現計算機間串口通信

2008-12-31 00:00:00李永勝
電腦知識與技術 2008年8期

摘要:本文主要介紹利用VB6.0串行通信編程的方法,利用MSComm控件實現計算機與計算機間的串口通信。

關鍵詞:串口通信;VB6.0;MSCOMM控件

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)08-10ppp-0c

隨著互聯網的不斷發展,計算機間的相互通信已非常普遍,只要通過計算機的串行口就可以實現。而對于串口通信的編程軟件,微軟公司的Visual Basic 6.0(簡稱VB6.0)以其友好的開發界面、簡單易用、實用性強等優點已在國內外得到廣泛應用。

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

下面這個例子,說明如何進行串行通信程序設計,該程序在Windows98環境下已調試通過。在調試程序時,很難做到一個人同時占有兩臺計算機。為此,可通過直接短接串口的2、3兩個腳,即將串行口的2、3腳連接在一起,從而使發送的信息直接被本機接收。這樣,就可以在一臺計算機上調試程序。

1 MSComm控件常用屬性

Commport 設置并返回通信端口號。

Settings 以字符串的形式設置并返回波特率、奇偶校驗、數據位、停止位。

PortOpen設置并返回通信端口的狀態,也可以打開和關閉端口。

InBufferSize 設置并返回接收緩沖區的字符數。

Input 從接收緩沖區返回和刪除字符。

InputLen設置并返回Input屬性從緩沖區讀取的字符數。

OutBufferSize以字符形式設置并返回傳輸緩沖區的大小。

Output向傳輸緩沖區寫數據。

2 用戶界面設計

首先新建一個“標準EXE”工程,然后選擇“工程/部件”菜單項,在“部件”對話框中選擇Microsoft Comm Control6。0 即可添加MSComm控件;再在窗體中依次布置如下控件并設置其屬性。

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

圖1 運行主界面

3 編寫程序代碼

編寫的程序代碼如下:

Private Sub Form_Load()

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

Msc1.settings=”9600,N,8,1”‘波特率9600,奇校驗,8個數據位,1個停止位

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

Msc1.InBufferSize = 2048‘設置接收緩沖區為2048字節

Msc1.OutBufferSize = 1024 ‘設置發送緩沖區為1024字節

Msc1.PortOpen=True‘打開串行口

End Sub

Private Sub Command1_Click()‘發送信息

Dim n As String

On Error Resume Next

IfRTB1.Text = \" \" Then

n = MsgBox(\"發送信息為空,請輸入發送信息!\", vbOKCancel + vbQuestion, \"發送信息出錯\")

End If

m = Len(RTB1.Text)‘取發送信息的字符長度

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

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

End Sub

Private Sub Command2_Click() ‘接收信息

RTB2.Visible = True

RTB2.Text = \"\"

DoEvents‘該語句使程序可以在此處響應其他事件

If Msc1.InBufferCount > 0 Then

Timer1.Enabled = True

RTB2.Text = Msc1.Input

End If

Msc1.PortOpen = False

Timer1.Enabled = False

‘如果接收緩沖區字符數不為零,則將接收緩沖區字符在接收文本框中顯示;否則關閉串行口,結束通信。

End Sub

Private Sub Command3_Click() ‘清除信息

RTB2.Text = \" \"

IfMsc1.PortOpen = True Then

Msc1.PortOpen = False

End If

RTB2.Visible = False

End Sub

‘清除接收文本框中信息,關閉串行口,結束通信,并使接收文本框不可見。

4 幾點說明

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

參考文獻:

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

[2]鄭阿奇.Visual Basic實用教程[M].電子工業出版社,2000.

[3]俞旭明,等.Visual Basic 6.0網絡開發技術[M].人民郵電出版社,1999.

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

主站蜘蛛池模板: 无码丝袜人妻| 九九香蕉视频| 亚洲综合精品第一页| 呦女亚洲一区精品| 免费观看欧美性一级| 国产精品蜜芽在线观看| 天天综合天天综合| 国产亚洲精品自在线| 日韩免费毛片视频| 亚洲水蜜桃久久综合网站| 99国产在线视频| 色综合天天综合| 午夜精品久久久久久久99热下载 | 亚洲人成网址| 国产超薄肉色丝袜网站| 日韩成人午夜| 色综合日本| 国产精品久久久久无码网站| 99在线视频网站| 亚洲国产天堂久久九九九| 国产00高中生在线播放| 亚洲欧美综合在线观看| 国产成人综合日韩精品无码首页| 国产综合精品一区二区| 99re免费视频| 视频一本大道香蕉久在线播放 | 日日碰狠狠添天天爽| 国产视频资源在线观看| 在线综合亚洲欧美网站| 毛片卡一卡二| 欧美国产菊爆免费观看| 最新日本中文字幕| 99re这里只有国产中文精品国产精品| 女人18一级毛片免费观看 | 久久免费视频6| 91色综合综合热五月激情| 青草娱乐极品免费视频| 久久这里只有精品国产99| 免费xxxxx在线观看网站| 这里只有精品国产| 欧美黄色网站在线看| 亚洲人成网站观看在线观看| 99r在线精品视频在线播放| 日韩av手机在线| 久久毛片免费基地| 成人国产精品一级毛片天堂| 欧美性猛交一区二区三区| 国产人成在线观看| 欧美成人怡春院在线激情| 欧美性精品| 直接黄91麻豆网站| 中文字幕久久波多野结衣 | 日韩不卡免费视频| 国产a在视频线精品视频下载| 欧美三级视频网站| 成人福利在线视频| 国产成人精品视频一区二区电影| 国产一区二区三区免费观看| 日本午夜精品一本在线观看| 伊人久久福利中文字幕| 国产免费久久精品99re不卡| 日韩精品专区免费无码aⅴ| 人妻无码AⅤ中文字| 欧美爱爱网| 免费高清毛片| 久久综合丝袜长腿丝袜| 91青青在线视频| 日韩国产无码一区| 欧美另类一区| 成人小视频网| 国产午夜福利亚洲第一| 91精品人妻互换| 五月婷婷伊人网| 免费一级毛片完整版在线看| 亚洲精品桃花岛av在线| 99久久性生片| 欧美精品1区| 亚洲欧洲日韩国产综合在线二区| 国产毛片不卡| 亚洲国产天堂久久综合226114| 伊人蕉久影院| 一级成人a毛片免费播放|