你是用mscomm32.ocx吗?
mscomm32将通讯的细节全部封装好了,接收到的字节就是下位机传送给计算机的数据,不过vb都把他们看成是十进制数。
这有一段接收程序,希望对你有帮助
dim ReSj() As Byte
dim JsJL As String
MSComm1.InputLen = n '要接收字节的个数
JsJL = MSComm1.Input '接收
ReSj = JsJL          '将接收的数据转化成字节型
For i = 0 To UBound(ReSj)   '对接收的数据进行后期处理(打印)
    Debug.Print i & Chr(9) & ReSj(i)  '
Next

解决方案 »

  1.   

    这个问题需要制定特定的协议,且不论如何接受和存储数据,单讲如何处理已经接收到的完整的数据,在串口通讯中一般以ESC(ascii码27)为数据块起始位,以一个字母为终止位,举例来说(只是例子)
    ESC R                     通知设备重起
    ESC T                     查询设备时间
    返回 ESC 1900;01;01;00;00;00T
    ESC 2002;12;18;9;8;7t     设置设备时间
      

  2.   

    我也刚开始做串口通讯的程序。学习ing、、、、、、、、、、、、、