VB串口发送数据的疑难杂症

Like_328 2009-06-03 10:43:57
我想向下位机发送一组数据:
PC->MCU:0XA5,0X67,0X35,0X31,0X31,0X30,0X80,序号(0X01~0X08),8个ASCLL码[不够用空格20H],0XA0
MCU-->PC,0X35,0X82,0X80,序号
8个ASCLL码为text中的值,想来想去不知如何发送,望大侠指点
...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Like_328 2009-06-04
  • 打赏
  • 举报
回复
我Text中的值是ASCLL码.最多可以写8个,也可以是8个以下
贝隆 2009-06-04
  • 打赏
  • 举报
回复
支持楼上的
of123 2009-06-04
  • 打赏
  • 举报
回复

很容易:
Dim bytSend(7) As Byte, bytRecv() As Byte, i As Integer, n As Integer, tmp As Variant

'初始化
Private Sub Form_Load()
With MSComm1
.Settings = "9600,n,8,1"
.CommPort = 1
.InputMode = comInputModeBinary
.RThreshold = 4
.PortOpen = True
End With
End Sub

'发送
Private Sub Command1_Click()
n = Len(Text1) \ 2 'Text1 = "A567353131308001"
For i = 0 To n - 1
bytSend(i) = Val("&H" & Mid(Text1, i * 2 + 1, 2))
Next i
For i = n To 7
bytSend(i) = &H20
Next i

MSComm1.Output = bytSend
End Sub

'接收
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case 2
tmp = MSComm1.Input
bytRecv = tmp
Text2 = ""
For i = 0 To UBound(bytRecv)
Text2 = Text2 & Right("0" & Hex(bytRecv(i)), 2)
Next i
End Select
End Sub
b43ok 2009-06-03
  • 打赏
  • 举报
回复
75373834
b43ok 2009-06-03
  • 打赏
  • 举报
回复
QQ讨论吧,基本上是用MSCOMM控件就可以做了,很容易

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧