VB中mscomm实现pc间的通信的问题
我用下面这段程序,怎么只能发送不能接受信息啊?ps.我是用一台计算机的2个232串口连接起来,一个程序开通com1一个com2SendMeg=Text1.TextMSCo...
我用下面这段程序,怎么只能发送不能接受信息啊?
ps.我是用一台计算机的2个232串口连接起来,一个程序开通com1一个com2
SendMeg = Text1.Text
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = SendMeg '发送数据
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
Unload Me
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1 '...使用Com1口
MSComm1.Settings = "9600,n,8,1" '...设置通讯参数
MSComm1.PortOpen = True '...打开串口
End Sub
Private Sub MSComm1_OnComm()
Dim RecMeg As String
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
RecMeg = MSComm1.Input
Text2.Text = RecMeg '...接受显示数据
Print Text2.Text
MSComm1.InBufferCount = 0 '...清空输入寄存器
End Select
End Sub
这是另一个程序
Private Sub Command1_Click()
Dim SendMeg As String
SendMeg = Text1.Text
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = SendMeg '发送数据
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
Unload Me
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 2 '...使用Com2口
MSComm1.Settings = "9600,n,8,1" '...设置通讯参数
MSComm1.PortOpen = True '...打开串口
End Sub
Private Sub MSComm1_OnComm()
Dim RecMeg As String
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
RecMeg = MSComm1.Input
Text2.Text = RecMeg '...接受显示数据
Print Text2.Text
MSComm1.InBufferCount = 0 '...清空输入寄存器
End Select
End Sub 展开
ps.我是用一台计算机的2个232串口连接起来,一个程序开通com1一个com2
SendMeg = Text1.Text
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = SendMeg '发送数据
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
Unload Me
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 1 '...使用Com1口
MSComm1.Settings = "9600,n,8,1" '...设置通讯参数
MSComm1.PortOpen = True '...打开串口
End Sub
Private Sub MSComm1_OnComm()
Dim RecMeg As String
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
RecMeg = MSComm1.Input
Text2.Text = RecMeg '...接受显示数据
Print Text2.Text
MSComm1.InBufferCount = 0 '...清空输入寄存器
End Select
End Sub
这是另一个程序
Private Sub Command1_Click()
Dim SendMeg As String
SendMeg = Text1.Text
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = SendMeg '发送数据
End Sub
Private Sub Command2_Click()
MSComm1.PortOpen = False
Unload Me
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 2 '...使用Com2口
MSComm1.Settings = "9600,n,8,1" '...设置通讯参数
MSComm1.PortOpen = True '...打开串口
End Sub
Private Sub MSComm1_OnComm()
Dim RecMeg As String
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
RecMeg = MSComm1.Input
Text2.Text = RecMeg '...接受显示数据
Print Text2.Text
MSComm1.InBufferCount = 0 '...清空输入寄存器
End Select
End Sub 展开
3个回答
展开全部
既然使用OnComm事件来接收,必须设置MSComm控件的属性RThreshold 为不等于零的值.
RThreshold 属性
在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。
说明
当接收字符后,若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 事件。
例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。
RThreshold 属性
在 MSComm 控件设置 CommEvent 属性为 comEvReceive 并产生 OnComm 之前,设置并返回的要接收的字符数。
说明
当接收字符后,若 Rthreshold 属性设置为 0(缺省值)则不产生 OnComm 事件。
例如,设置 Rthreshold 为 1,接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询