» 首页 » 电脑_数码 » 编程 » VB与串行通信编程实例

VB与串行通信编程实例

VB与串行通信编程实例


2楼的代码是完全正确可行的
我想还是有问题的话可能是你在测试的时候使用字母,而且是连续的字母
那么2楼的代码就没作用了,因为英文连续输入被认为是完整的单词,无法换行
解决方法是
<td style="word-break:break-all">
代码如下:
Private Sub Command1_Click()
MSComm1.Output = "123456"
End Sub

Private Sub Form_Load()
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.InputMode = comInputModeText
Text1 = ""
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvSend
Text1 = "comEvSend"
Case comEvReceive
Text1 = "comEvReceive"
Case comEvCTS
Text1 = "comEvCTS"
Case comEvDSR
Text1 = "comEvDSR"
Case comEvCD
Text1 = "comEvCD"
Case comEvRing
Text1 = "comEvRing"
Case comEvEOF
Text1 = "comEvEOF"
End Select
End Sub

以下参考MSDN:
OnComm 常数
常数 值 描述
comEvSend 1 发送事件。
comEvReceive 2 接收事件。
comEvCTS 3 clear-to-send 线变化。
comEvDSR 4 data-set ready 线变化。
comEvCD 5 carrier detect 线变化。
comEvRing 6 振铃检测。
comEvEOF 7 文件结束。

MSComm 控件提供下列两种处理通讯的方式:

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。
在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。
SThreshold 属性
在 MSComm 控件设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数。
说明
若设置 Sthreshold 属性为 0(缺省值),数据传输事件不会产生 OnComm 事件。若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。
如果在传输缓冲区中的字符数小于 value,CommEvent 属性设置为 comEvSend,并产生 OnComm 事件。comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。例如,如果 Sthreshold 等于 5,仅当在输出队列中字符数从 5 降到 4 时,comEvSend 才发生。如果在输出队列中从没有比 Sthreshold 多的字符,comEvSend 事件将绝不会发生。

CommEvent 属性包含实际错误或产生 OnComm 事件的数码。注意,设置 Rthreshold 或 Sthreshold 属性为 0,分别使捕获 comEvReceive 和 comEvSend 事件无效。
收藏

 相关问题
·VB与串行通信编程实例
·ASP初级代码求助
·delete 功能和 析够函数 作用相同??????
·学习JAVA该如何起步?(没编程基础)
·哪能买到西门子S7-400的USB接口的编程电缆
·华中科技大学有关于Java的培训班吗
·编写一个函数,输入一个4为数,输出它,但2个数字之间要...
·请求网页点击代码
·请问如何清除HKCR/exe:winfiles 这个东西 谢谢!
·我想做千年私服,是SQL版的,不过我不会SQL,谁能帮帮我
·一个超级让人恶心的程序
·acess中修改记录时,怎么禁止弹出确认窗口
·关于软件设计师考试的相关问题
·set的中文含义
·13M精简版的VC++比正式版500多M的功能少吗?

 《VB与串行通信编程实例》答案收集时间:2006-08-24 20:21:31



©2007 电脑技术问答录