发送05到串口
方法一:
aa(0) = 0 
aa(1) = 5 
aa(2) = 0  
aa(3) = 0  
MSComm1.Output = aa()
方法二:
aa(0) = &H0
aa(1) = &H5
aa(2) = &H0
aa(3) = &H0
MSComm1.Output = aa()我测试换了两种方法都错了。如果用网上下载的测试软件发送,我勾选了“十六进制发送”,发送05,仪表能正确接收到,为什么我的不行吗?

解决方案 »

  1.   

    客户要求:
    串口发送的数据是AABB0000 四个数据,AA 千位,百位,BB十位,个位 后面跟 0000;预计是设置00050000应该出来5
      

  2.   

    我觉得
    1是首先定义
    dim aa(3) as byte
    然后发送
    2是如你所说
    "用网上下载的测试软件发送,我勾选了“十六进制发送”,发送05正常"
    那么你应该测试一下直接发送&H5。
      

  3.   

    Dim ByteArray() As Byte
    '定义动态数组
    ReDim ByteArray(10)
    '重定义数组大小
    ByteArray(0) = &H0
    ByteArray(1) = &H1
    ByteArray(2) = &H2
    ByteArray(3) = &H3
    ByteArray(4) = &H4
    ByteArray(5) = &H5
    ByteArray(6) = &H6
    ByteArray(7) = &H7
    ByteArray(8) = &HEE
    ByteArray(9) = &H1
    MSC1.Output = ByteArray
    ***********************************************
    试试
      

  4.   

    设置串口发送字节类型为 VBBINARY
      

  5.   

    MSComm1.InputMode = comInputModeBinary
      

  6.   

    方法一:
    aa(0) = 0 
    aa(1) = 5 
    aa(2) = 0  
    aa(3) = 0  
    MSComm1.Output = aa()
    方法二:
    aa(0) = &H0
    aa(1) = &H5
    aa(2) = &H0
    aa(3) = &H0
    MSComm1.Output = aa()楼主,这样你发出的是00000500