我要做一个监控系统:通过MSComm控件怎样和读卡器进行数据传输?
就是不知道程序怎样写
就是读信息和写信息的程序,希望能有高手指点最好能各个例子?

解决方案 »

  1.   

    从硬件接线 到串口初始化 发送 接收 一大堆的东东 就算有心帮你 又从何帮起 ?自己慢慢看我给你搜出的一堆帖子吧 http://tieba.baidu.com/f?tn=bdAdvResult&kw=&ct=352321536&lm=65536&rs5=1&rs2=1&sn=vb&word=MSComm&un=&rs1=0&rn=10
      

  2.   

    怎么老是这样的问题: 
    LZ提醒你下 最好别用USB转串口的通信方式 最好是直接电路上的9针对台式机后的9针(其实只要3针就可以,2-2,3-3,5-5) 
    为什么呢?因为转下,如果数据发送接收过快,容易丢失,以致你的VB程序死掉,都是有可能的,吾的亲身体会! 
    至于怎么发送,给你个例子(这是发送AA AA FF 06 31 0 0 0 FF, 
    格式: 
    标志字节(帧首)  +  命令字节 + 数据参数字节    +    帧尾字节 
            2字节        2字节        4字节            1字节 
    Private Sub Form_Load()
        MSComm1.CommPort = port
        MSComm1.Settings = setting
    End Sub
    Private Sub Command1_Click()
              Dim lngP As String
              Dim buff_out10() As Byte
              ReDim buff_out10(8)
              MSComm1.Settings = "9600,N,8,1"   ' 9600 波特,无奇偶校验,8 位数据,一个停止位。
              MSComm1.InputLen = 0
              If MSComm1.PortOpen = False Then
                 MSComm1.PortOpen = True
              End If
              buff_out10(0) = &HAA
              buff_out10(1) = &HAA
              buff_out10(2) = &HFF
              buff_out10(3) = &H6
              buff_out10(4) = &H31
              buff_out10(5) = &H0
              buff_out10(6) = &H0
              buff_out10(7) = &H0
              buff_out10(8) = &HFF
              MSComm1.Output = buff_out10
              lngP = GetTickCount    'API函数
              Do
                     DoEvents
              Loop Until GetTickCount - lngP > 100 Or MSComm1.InBufferCount > 10 '当等待时间超过100毫秒或串口接受缓冲区的数据达到10个字节时退出等待循环,这就是一个通信等待的过程。
              DoEvents
    End Sub