首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb串口发送十六进制这样是否对的?该怎么解决

2012-02-23 
vb串口发送十六进制这样是否对的?关键代码如下:ReDim Preserve ss(12)ss(0) &HDDss(1) &H9ss(2) &H1

vb串口发送十六进制这样是否对的?
关键代码如下:
 ReDim Preserve ss(12)
  ss(0) = &HDD
  ss(1) = &H9
  ss(2) = &H17
  ss(4) = &H14
  ss(11) = &H1E
  ss(12) = &HA
   
  If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
  MSComm1.Output = ss

  Private Sub MSComm1_OnComm()
  On Error Resume Next
  Dim bs As Long
  
If MSComm1.CommEvent <> 0 Then

  vbyte = MSComm1.Input
  For i = 0 To UBound(vbyte)
  If Len((vbyte(i))) = 1 Then
  l1.Caption = l1.Caption & vbyte(i) & " "
  Else
  l1.Caption = l1.Caption & vbyte(i) & " "
  End If
  Next i
End If

End Sub

这样发给下位机的是否是十六进制?

[解决办法]
看协议,下位机接收的是数值还是字符串。
[解决办法]

楼主还是没有明白。

重点在于下位机是如何解释它收到的数据的。

数据线上传输没的有什么十六进制数。就是看下位机是被每个字节当作数字还是 ASCII 码。也就是说,你究竟需要发送二进制的数字,还是“十六进制字符串”(文字)?
[解决办法]

Hex() 函数取得的是“十六进制字符串”。

热点排行