大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是我的简单串口代码:
专注于为中小企业提供成都网站建设、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业金湾免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
Dim a As Integer
Dim b As Variant
Private Sub u_Click()
Text1.Text = "请先设置波特率与COM口!!!"
End Sub
Private Sub Cbo1_Click()
On Error GoTo blak '打开串口发生错误,提示信息
If MSComm1.PortOpen = True And a = 1 Then
MSComm1.PortOpen = False '必须先关闭端口,再对端口进行设置
MSComm1.CommPort = cbo1.ListIndex + 1 '端口号从0开始,必须加1
Else '有必要
MSComm1.CommPort = cbo1.ListIndex + 1
End If '注释的必须有,为第二次切换做准备,否则第二次换COM口会出问题
Exit Sub
blak:
MsgBox "串口不存在或被占用!", vbOKOnly, "提示信息" '必须是这种格式
End Sub
Private Sub Cbo2_Click() '单击事件,不是change事件
MSComm1.Settings = 1200 * 2 ^ cbo2.ListIndex "n,8,1" '设置端口的波特率,连接符前后必须空一格
End Sub
Private Sub cmd1_Click()
a = a + 1
If a = 1 Then
cmd1.Caption = "关闭串口"
cbo1.Enabled = False
MSComm1.PortOpen = True '打开串口
ElseIf a = 2 Then
cmd1.Caption = "打开串口"
cbo1.Enabled = True
MSComm1.PortOpen = False '关闭串口
a = 0
End If
End Sub
Private Sub cmd2_Click()
Text1.Text = "" '清空接收区
Text2.SetFocus
End Sub
Private Sub cmd3_Click()
Text2.Text = "" '清空发送区
Text2.SetFocus
End Sub
Private Sub cmd4_Click()
Dim d As Integer
Dim e(0) As Byte 'outbyte 输出字符
d = Val(Text2.Text)
e(0) = CByte(d)
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.Output = e '此命令执行一次发送8字节
End Sub
Private Sub Form_Load()
cbo1.ListIndex = 0
cbo2.ListIndex = 0
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent '返回最近的通信过程
Case comEvReceive '接受的数据
c: b = MSComm1.Input
If Option1.Value = True Then
Text3.Text = Text1.Text Hex(b(0)) '首次不行,因为有字符
Text1.Text = Text3.Text " " '转换一下
ElseIf Option2.Value = True Then
Text1.Text = Text1.Text b ""
End If
If MSComm1.InBufferCount 0 Then 'mscomm1.InBufferCount是缓冲区的数据数
GoTo c
End If
End Select
End Sub
Private Sub Option1_Click()
MSComm1.InputMode = comInputModeBinary '接收方式,十六进制
End Sub
Private Sub Option2_Click()
MSComm1.InputMode = comInputModeText '接收方式,字符格式
End Sub
Private Sub Text1_Change()
Text1.SelStart = Len(Text1.Text)
End Sub
表示ASCII码为8的字符
ASCII值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。
1、
Boolean
取决于实现平台
Byte
1 个字节
Char
2 个字节
Date
8 个字节
Decimal
16 个字节
Double
8 个字节
Integer
4 个字节
Long
8 个字节
Object
4 个字节(32 位平台上)
8 个字节(64 位平台上)
SByte
1 个字节
Short
2 个字节
Single
4 个字节
String (变长)
取决于实现平台
UInteger
4 个字节
ULong
8 个字节
用户定义的(结构)
取决于实现平台
UShort
2 个字节
2、
字节