这个问题我想了很长时间了,那位要是知道烦请告之!

解决方案 »

  1.   

    我想应该是先将16进制数据转换成2进制,用一个BYTE数组。或者将16进制数据先转化为文本,然后发到串口。
      

  2.   

    MSComm1.InputMode = comInputModeBinarydim arr(3) as byte
    arr(0)=&H45
    arr(1)=&H46
    arr(2)=&H47
    arr(3)=&H48
    MSComm1.Output = arr
      

  3.   

    Dim buffer2(0) As Byte
    Dim data as Integer
    MSComm2.InputMode = comInputModeBinary
    data=&H10
    buffer2(0) = CByte(data Mod 256)
    MSComm2.Output=buffer2这样就可以发送16到串口了
      

  4.   

    几进制数据对于串口发送来说没有关系,无论要发的是二进制,八进制,十六进制,还是字符,对于串口来说最终发的都是7或8位的二进制比特流,就用sxs69的方法就可以。
      

  5.   

    只要把它变成字符串,字符串的内容就是16进制的数值,然后output就可以
      

  6.   

    我是在每两次发送之间sleep一秒钟
      

  7.   

    你可以自己设施起始和结束位来表示一段信息
    比如:
    起始位为&01
    结束位为&09
      

  8.   

    Dim buffer2(0) As Byte
    Dim data as Integer
    MSComm2.InputMode = comInputModeBinary
    data=&H10
    buffer2(0) = CByte(data Mod 256)
    MSComm2.Output=buffer2
    把data定义成全局变量
    然后把上面的代码放到一个函数SendData里面
    隔一段时间调用
    data=A
    Call SendData
    slpe
      

  9.   

    上面没发完,接上面
    然后把上面的代码放到一个函数SendData里面
    隔一段时间调用
    data=A
    Call SendData
    sleep 1000
    data=B
    Call SendData
    ......
      

  10.   

    以前是这么做的
    dim varR as variant
    dim bytAry(1) as byte
    bytAry(0) = &h11
    bytAry(1) = &h22varR = bytAry
    MsComm1.output = varR