vb下MSComm控件的使用问题
我要做一个监控系统:通过MSComm控件怎样和读卡器进行数据传输?就是不知道程序怎样写
就是读信息和写信息的程序,希望能有高手指点最好能各个例子?
--------------------编程问答-------------------- baidu 一下例子多的是 --------------------编程问答-------------------- 从硬件接线 到串口初始化 发送 接收 一大堆的东东 就算有心帮你 又从何帮起 ?
自己慢慢看我给你搜出的一堆帖子吧 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 --------------------编程问答-------------------- BaiDu
--------------------编程问答-------------------- 怎么老是这样的问题:
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
补充:VB , 控件