dim aa() as byte
aa(0)=170
mscomm1.output=aa接收端:
dim recdata as string 
dim data() as integer
dim l as integer
recdate=mscomm2.input
l=lenb(recdate)
redim data(l)
for i=0 to l-1
   data(i)=ascb(recdate)
   recdate=rightb(recdate,lenb(recdate)-1)
   debug.print data(i)
nextOK//

解决方案 »

  1.   

    StrConv(Buffer, vbUnicode)
    把inputMode设为comInputModeBinary
      

  2.   

    前面少了一句buffer=mscomm1.input
      

  3.   

    要用二进制方式传送,接收
    注意传送的时候要用字节数组,即使只有一个字节也要用字节数组
    Dim AA() as Byte
    Redim AA(0)
    AA(0)=&HAA
    MSComm1.Output = AA        '发送请求
      

  4.   

    好了,我就把问题简单化吧
    我是用交叉串口线进行调试的,我的问题其实就是如何把把一个大ASC码于127的字符通过COM口传输??例如:
    mscomm1.ouput=chr(160)
    可是得到的确是 0 
    如果改为
    mscomm1.output=chrb(160)
    结果 a=asc(mscomm2.input) 结果为“无效参数”总之是如何把160给发出去,然后收到就行(只发一个字节哦,不是“1 6 0”)帮个忙吧,我在这先谢谢大家了