我现在需要使用COM1口进行通讯。现在电缆连接正确,使用XP自带的“超级终端”进行通讯时能正常收到文件或数据。但是用“超级终端”和MSCOMM连接的时候,就不好用了。不知道问题出在哪里,下面是我在VB中的代码。请大家帮我分析一下。 谢谢。Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Text1.Text = MSComm1.Input
MSComm1.InBufferCount = 0
End Select
End Sub
这样设置有什么问题吗?还是缺少什么属性的设置?请大家帮我看看。
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.PortOpen = True
End SubPrivate Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
Text1.Text = MSComm1.Input
MSComm1.InBufferCount = 0
End Select
End Sub
这样设置有什么问题吗?还是缺少什么属性的设置?请大家帮我看看。
解决方案 »
- 请教VB+SQl Server实现单机离线数据库的好方法
- 触发事件问题?
- 关于vb中access数据库存储的问题?
- 一年中的第22周开始的日期是多少?
- setfactory打包时如何使用序列号?(无内容)
- ====紧急:有关MSFLexGrid显示图片的问题:如何使得里面的图片自动缩放====
- C/S结构的水晶报表问题, 救救小弟
- 請問拖動msflexgrid的滾動條的時候,會觸發哪一個事件?
- 菜鸟关于菜单编辑器的提问
- 用VB开发的TCP通讯,除了可以用Winsock控件来接收数据外,还可以用其它方法来接收数据吗?
- 如何打印msflexgrid/mshflexgrid中的内容
- 年底最后一问:用VB读DBF数据库中SQL语句的如何选择符合时间条件的记录????指教
如果正常的话,我的影响默认是查询方式Public Function OpenPort(PortNo As Integer, Optional InBufferSize As Integer = 1024, Optional OutBufferSize As Integer = 512) As Long
On Error GoTo ErrExit
MSComm1.CommPort = PortNo '采用COM端口
MSComm1.Settings = "9600,n,8,1"
MSComm1.InputMode = comInputModeBinary '采用二进制传输
MSComm1.NullDiscard = False 'NULL字符从端口传送到接受缓冲区
MSComm1.DTREnable = False 'DTR线无效
MSComm1.EOFEnable = False '不寻找EOF符
MSComm1.RTSEnable = False 'RTS线无效
MSComm1.InBufferCount = 0 '清空接受缓冲区
MSComm1.OutBufferCount = 0 '清空传输缓冲区
MSComm1.SThreshold = 1 '如果传输缓冲区完全空时产生MSComm事件
MSComm1.RThreshold = 0 '不产生MSComm事件
MSComm1.InBufferSize = InBufferSize '接收缓冲区 默认为1024个字节
MSComm1.OutBufferSize = OutBufferSize '发送缓冲区 默认为512个字节
MSComm1.PortOpen = True '打开端口
OpenPort = 0
Exit Function
ErrExit:
OpenPort = 1
End Function这个你可以参考参考
MSComm1.RThreshold = 1事件驱动 ,每收到一个字节触发MSComm1_OnComm()