需要利用MSCOMM控件,进行串口通信,发送和接收一些数据。
数据格式:02 31 33 31 30 30 30 30 30 30 30 30 31 32 33 34 03 34 每一个数据都是16进制的。
在发送数据之后,还需要接收对方返回的数据,在利用 MSCOMM 收发数据时,有两种办法轮询和事件的方式操作数据,利用哪一种方式好一些?(需要发送数据之后,接收到对方返回过来的一定的信息,根据这个信息的内容,决定下一步的操作)

解决方案 »

  1.   

    网上有原程序,google中肯定能搜索到
      

  2.   

    http://www.yesky.com/SoftChannel/72342371928637440/20031010/1734854.shtml
    基于VB6.0的MSComm通信方法设计
    1)在窗体中添加名为MyComm的MSComm控件,并设置空间的属性,如下:.CommPort=2 '使用COM2
    .Setting="9600,e,7,1" '波特率9600,偶校验,7个数据位,1个停止位
    .InBufferSize=40 '设置MyComm接收缓冲区为40个字节
    .OutBufferSize=2 '设置MyComm发送缓冲区为2个字节
    .InputMode=comInputModeBinary
    '设置接收数据模式为二进制模式
    .InputLen=1 '设置一次从接收缓冲区读取字节数为1
    .Sthreshold=1 '设置一次从发送缓冲区读取字节数为1
    .PortOpen=True '打开通信口'其他属性设置省略
       (2)下面是响应Mycomm_OnComm事件的处理程序,对数据库采集的处理程序采用MSComm事件驱动方式。Private Sub MyComm_OnComm()
    With MyComm
    Select case .CommEvent
    Case .comEvReceive
    ' 接收数据 
    ' 对数据进行处理
    case .comEVSend
    '发送数据
    case .comEventRxParity
    '对奇偶校验错误进行处理
    end select
    end with
    end sub