用PC机的9针RS232接口,用VB6 含有的MSComm 控件编程
两台PC机串行通信串行口的接线图:
'==============================
'PC机串行口用命令按钮启动接收/发送VB程序
Private Sub Form_Load()
MSComm1PortOpen = True '开启通信控件的端口
End Sub
'点击“发送”命令按钮发送数据
Private Sub Command1_Click()
MSComm1Output = Text1Text '将文本框Text1的数据发送至对方
End Sub
'点击“接收”命令按钮接收数据
Private Sub Command2_Click()
Dim st As String
st = MSComm1Input
Text2Text = st '将接收到的数据至入文本框Text2
End Sub
'==============================
’PC机串行口定时自动接收/发送VB程序
Private Sub Form_Load()
MSComm1PortOpen = True '开启通信控件的端口
Timer1Interval = 100 ’自动传送时间间隔100毫秒
End Sub
Private Sub MSComm1_OnComm()
Dim st As String
If MSComm1InBufferCount > 0 Then
st = MSComm1Input
Text2Text = st '将收到的数据放入Text2文本框
End If
End Sub
Private Sub Timer1_Timer()
MSComm1Output = Text1Text '发送Text1文本框内容
End Sub
inputsignal
是
variant
数据
你可以
直接
textreceivetext=inputsignal
试试
推荐看书
visual_basic与_rs-232_串行通信控制
只要发送吗,我这有一份程序,你看看能不能用。这个程序是没有问题的,把Text1中的文字以16进制的形式发送出去(不包括转换16进制的过程)。
'十六进制发送
Private Sub Hexsent()
Dim hexchrlen%, Hexchr As String, hexcyc%, hexmid As Byte, hexmiddle As String, CmdLenth As Integer
Dim hexchrgroup() As Byte, i As Integer
hexchrlen = Len(Text1text)
For hexcyc = 1 To hexchrlen '检查Text1文本框内数值是否合适
Hexchr = Mid(Text1text, hexcyc, 1)
If InStr("0123456789ABCDEFabcdef", Hexchr) = 0 Then
MsgBox "无效的数值,请重新输入", , "错误信息"
Exit Sub
End If
Next
ReDim hexchrgroup(1 To hexchrlen \ 2) As Byte
For hexcyc = 1 To hexchrlen Step 2 '将文本框内数值分成两个、两个
i = i + 1
Hexchr = Mid(Text1text, hexcyc, 2)
hexmid = Val("&H" & CStr(Hexchr))
hexchrgroup(i) = hexmid
Next
CmdLenth = 5 + hexchrgroup(5) 2
MSComm1RThreshold = CmdLenth
MSComm1Output = hexchrgroup
End Sub
以上就是关于vb如何使用串口通讯全部的内容,包括:vb如何使用串口通讯、VB串口程序接收字符数据时数据不全!!、VB程序串口发送16进制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)