使用的电子秤以连续方式按MCS-51下的方式1输出RS-232C信号,数据为ASCII码,共有16个帧,包括1个起始字符帧(02),2个状态椟志帧,1个空格字符,6个显示数据帧和6个皮重数据帧,每一个帧由10位组成,每一位是起始位“0”,第十位是停止位“1”,中间8个数据位(从低到高)的格式如下:

起始位       D0   D1   D2   D3    D4  D5   D6   D7    停止位
目前了解该电子秤不提供dll驱动请问如何实时接收到电子秤的发馈给计算机的质量信息呢,如何将接收到的信号转换为质量(kg)谢谢!!!

解决方案 »

  1.   

    用mscomm 控件就可以了 
    应该是16个字节最成 一个帧吧
    “起始位       D0   D1   D2   D3    D4  D5   D6   D7    停止位 ” 
    这里组成了一个字节
      

  2.   

    到这个网站下载一些有关串口编程的资料,看看。
    http://www.mndsoft.com
      

  3.   

    就是个串口通信,用mscomm控件足矣
      

  4.   

    请问上面的各位老大,具体有没有源代码,怎么写使用mscomm控件来操作呢,谢谢!
    怎么进行数据转换呢?急,我是菜鸟,第一次做这样的程序。好多地方不懂,请帮助!
      

  5.   

    Private Sub Form_Load() MSComm1.CommPort = 1
     MSComm1.InputLen = 0    '设置每次从串口缓冲区取的字节为全部
     MSComm1.InputMode = comInputModeBinary
     MSComm1.Settings = "9600,n,8,1"
     MSComm1.PortOpen = True '打开串口
     
    End SubPrivate Sub MSComm1_OnComm() '串口中断
    Dim InData as StringSelect Case MSComm1.CommEvent '选择事件Case comEvReceive '接收到字符        Dim InByte() As Byte '定义一个二进制指针放接收到的数据
            InByte = MSComm1.Input '数据转移到指针        Dim j As Long
          
             For j = 0 To UBound(InByte) '循环到指针上标            inData = inData & Hex(InByte(j)) & " " '取出一个字节换为16进制显示用
             
             Next j
     DoEvents    Text1.Text = inData '将刚收到的字符串显示出来
        inData = ""
        Text1.SelStart = Len(Text1.Text) '光标置后Case comEventRxOver '接收缓冲区满的处理
      MsgBox "接收缓冲区满了!" '发出警告
    End Select
    End SubPrivate Sub Form_Unload(Cancel As Integer)
      MSComm1.PortOpen = 0
    End Sub