VB串口通信
有谁有VB写的串口通信的例子,用串口控件写的!谢谢啊! --------------------编程问答-------------------- VB MSDN 里面帮助就有例子,我有的,不知道你需要到什么程度,很简单 --------------------编程问答-------------------- 见:串口调试软件 --------------------编程问答-------------------- http://download.csdn.net/source/1262066 --------------------编程问答-------------------- 怎么老是这样的问题: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 , COM/DCOM/COM+