vb串口通信界面


界面如上:

程序如下:

Dim num As Byte     '申明一個全局變量為單字節型

 

'單擊“清空接收緩沖區”按鈕時,將接收緩沖區清空,此過程為“清空接收緩沖區”的單擊事件

Private Sub Command1_Click()

    Text1.Text = ""     '將接收緩沖區清空

End Sub

 

'單擊“清空發送緩沖區”按鈕時,將發送緩沖區清空,此過程為“清空發送緩沖區”的單擊事件

Private Sub Command2_Click()

    Text2.Text = ""     '將發送緩沖區清空

End Sub

 

'單擊“發送”按鈕時,將發送緩沖區的單字節發送出去,並接收單片機發過來的數據並顯示

Private Sub Command3_Click()

    MSComm1.Output = Text2.Text     '將發送緩沖區的單字節發送出去

   

    '等待接收數據,此語句為一個類似C語言中的Do......While()語句,即先接收一次,看看MSCOMM1接收緩沖區中是否有數據存在,如果沒有,則MSCOMM1接收緩沖的字節數為0,則繼續接收,直到其字節數大於0則退出

    Do

        num = 0

        num = MSComm1.InBufferCount     '獲取MSCOMM1接收緩沖區中的字符個數,如果沒有接收到內容則接收緩沖區字符個數為0

    Loop While num = 0

   

    '將接收緩沖區中的字符在text1中進行顯示

    Text1.Text = Text1.Text + MSComm1.Input

End Sub

 

Private Sub Command4_Click()

    '單擊“退出”按鈕時先關閉串口通訊控件,然后關閉軟件

    MSComm1.PortOpen = False

    End

End Sub

 

Private Sub Command5_Click()

    '單擊“定時發送”按鈕時定時器每隔80ms向單片機發送一次數據並接收一次單片機發送回來的數據

    Timer1.Interval = 80

End Sub

 

Private Sub Command6_Click()

    '單擊“關閉定時”按鈕時定時器停止工作,不在每隔80ms向單片機發送數據

    Timer1.Interval = 0

End Sub

 

Private Sub Form_Load()

    '軟件加載到內存中時,即在軟件打開的過程中,對串口進行設置並對定時器進行設置

    With MSComm1

        .CommPort = 3              '設置串口通訊端口為COM2口

        .DTREnable = False              '關閉DTR檢測功能,因為我們只用到了發送數據線、接收數據線以及地線,沒有用到其他通訊線,所以這個對於我們來說沒有作用

        .InputMode = comInputModeText   '設置接收緩沖區接收的是字符數據,不是二進制數據

        .Settings = "9600,n,8,1"        '設置通訊波特率為9600,無奇偶校驗位,8位數據位,1位停止位

        .PortOpen = True                '打開串口通訊控件

        .InBufferCount = 0              '清空MSCOMM1的接收緩沖區

    End With

    Timer1.Interval = 0                 '關閉定時器

End Sub


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM