| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1434 人关注过本帖
标题:用VB编写的一个计算机RS232串口收发的小程序,已试验成功,跟大家分享一下
只看楼主 加入收藏
liuxing1990
Rank: 1
等 级:新手上路
帖 子:5
专家分:3
注 册:2010-12-29
收藏
 问题点数:0 回复次数:0 
用VB编写的一个计算机RS232串口收发的小程序,已试验成功,跟大家分享一下
Option Explicit
Dim buffer As String
Dim tr As String
Dim st As String
Dim er As Byte
Dim fir As String
Dim sec As String
Dim i, j, k, m, n As Integer
Dim p As String

Private Sub form_Load()
With Comboduankou
     .AddItem "COM1"
     .AddItem "COM2"
     .AddItem "COM3"
     .AddItem "COM4"
     .AddItem "COM5"
     .AddItem "COM6"
     .ListIndex = 0
End With
= Comboduankou.ListIndex + 1
MSComm.Settings = "9600,N,8,1"
MSComm.InputMode = comInputModeText
MSComm.RThreshold = 9
MSComm.SThreshold = 1
If MSComm.PortOpen = False Then
   MSComm.PortOpen = True
End If
   If MSComm.PortOpen = True Then
       Shape1.BorderColor = vbRed
   Else
       Shape1.BorderColor = vbGreen
   
End If
MsgBox "串口设定:传输速率9600,校验位N,数据位8,停止位1,请确认!"
Option1.Value = True
End Sub

Private Sub form_unload(Cancel As Integer)
If MSComm.PortOpen Then
    MSComm.PortOpen = False
End If
End Sub


Private Sub clearreceive_Click()
Textreceive = vbNullString

End Sub

Private Sub clearsend_Click()
Textsend = vbNullString

End Sub
Private Sub MSComm_OnComm()
Select Case
       Case comEvReceive
       MSComm.InputMode = 0
       buffer = MSComm.Input
End Select
If buffer <> vbNullString Then
   Textreceive = Textreceive & buffer & Chr(13) & Chr(10)
End If
   
End Sub

Private Sub send_Click()
tr = Textsend.Text
If tr <> vbNullString Then
    tr = Trim(tr)
Else
    MsgBox "请输入要发送的数据!"
   
End If
If Option2.Value = True Then
    MSComm.Output = tr
Else
    i = Len(tr)
    If i Mod 2 <> 0 Then
        MsgBox "请注意输入偶数个字符!"
    End If
    For j = 1 To i - 1 Step 2
       st = Mid(tr, j, 2)
       fir = Left(st, 1)
       m = Asc(fir)
       If 47 < m And m < 58 Then
        m = m - 48
       ElseIf 64 < m And m < 71 Then
        m = m - 55
       ElseIf 96 < m And m < 103 Then
        m = m - 87
       Else
        MsgBox "输入有误!"
       End If
       sec = Right(st, 1)
       n = Asc(sec)
       If 47 < n And n < 58 Then
        n = n - 48
       ElseIf 64 < n And n < 71 Then
        n = n - 55
       ElseIf 96 < n And n < 103 Then
        n = n - 87
       Else
        MsgBox "输入有误!"
        
       End If
       er = m * 16 + n
       p = Chr(er)
    MSComm.Output = p
    Text1.Text = p
    Next
End If
End Sub
搜索更多相关主题的帖子: 计算机 
2010-12-31 13:55
快速回复:用VB编写的一个计算机RS232串口收发的小程序,已试验成功,跟大家分享 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018618 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved