vb6 实现MScom通讯?(菜鸟求教) vb串口通信及编程实例
- 在VB6中如何实现socket通信?
- VB中MSCOM控件用来处理COM串口通讯,请问有没有处理USB通讯的控件啊? 还有没有控制NET的控件啊?
- 怎么实现vb6监听串口通信?
- vb中如何用pcomm pro 实现多串口通信
在VB6中如何实现socket通信?
有控件呀。右击工具箱栏,选部件,然后在列表里中下部左右找到 Microsoft Winsock Control 6.0 。选中它,按确定,那这个控件就出来了。具体用户可以看看书或是上网查资料,这里不方便贴出。
VB中MSCOM控件用来处理COM串口通讯,请问有没有处理USB通讯的控件啊? 还有没有控制NET的控件啊?
1)如果你用的“USB转RS232”,可以用MSCOM操作USB串口
2)使用VB6中Winsock 控件可以实现TCP或UDP网络编程
怎么实现vb6监听串口通信?
我现在知道的有两种做法,给你参考一下
1是一定时间扫描下串口看串口是否有回传值即
a=MSComm1.output
delay
b=MSComm1.Input
2.是设定mscomm的ONCOM事件,一旦检测有数据回传就进行处理
MSComm1.Settings = "9600,N,8,1" '设置通信口参数
MSComm1.InputMode = comInputModeText
MSComm1.InBufferCount = 0 '清除接收缓冲区
MSComm1.OutBufferCount = 0 '清除发送缓冲区
MSComm1.RThreshold = 1 '设置接收一个字节产生OnComm事件
Private Sub MSComm1_OnComm() '接收数据
Dim strBuff As String
Select Case MSComm1.CommEvent
Case 2
strBuff = strBuff & MSComm1.Input
End Select
End Sub
祝你成功!
这样的话就不好监听了,其他程序占用后用VB打开会出错的。。。
vb中如何用pcomm pro 实现多串口通信
在VB中有提供一个串口通信控件,为何还需要要用Pcomm pro呢?此控件需要在“工程---组件 ”里面添加。下面给你说说VB中的MSCOMM 控件
MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
MSComm 控件提供下列两种处理通讯的方式:
事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。
在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。
每个使用的 MSComm 控件对应着一个串行端口。如果应用程序需要访问多个串行端口,必须使用多个 MSComm 控件。可以在 Windows“控制面板”中改变端口地址和中断地址。
尽管 MSComm 控件有很多重要的属性,但首先必须熟悉几个属性。
属性 描述
CommPort 设置并返回通讯端口号。
Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位。
PortOpen 设置并返回通讯端口的状态。也可以打开和关闭端口。
Input 从接收缓冲区返回和删除字符。
Output 向传输缓冲区写一个字符串。
下面这个简单的例子演示了用调制解调器进行基本的串行通讯:
Private Sub Form_Load ()
' 保存输入子串的缓冲区
Dim Instring As String
' 使用 COM1。
MSComm1.CommPort = 1
' 9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings = "9600,N,8,1"
' 当输入占用时,
' 告诉控件读入整个缓冲区。
MSComm1.InputLen = 0
' 打开端口。
MSComm1.PortOpen = True
' 将 attention 命令送到调制解调器。
MSComm1.Output = "ATV1Q0" & Chr$(13) ' 确保
' 调制解调器以"OK"响应。
' 等待数据返回到串行端口。
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' 从串行端口读 "OK" 响应。
' 关闭串行端口。
MSComm1.PortOpen = False
End Sub