6091.html
来自「VB技巧问答10000例,是一个教程」· HTML 代码 · 共 23 行
HTML
23 行
<html>
<head>
<title>Re: RS232接收讯息???</title>
</head>
<body bgcolor="#FFFFFF" vlink="#808080">
<center>
<h1>Re: RS232接收讯息???</h1>
</center>
<hr size=7 width=75%>
<hr size=7 width=75%><p>
Posted by <a href="mailto:johnya@mitac.com.tw">安宝</a> on September 28, 1998 at 13:55:18:<p>
In Reply to: <a href="6013.html">RS232接收讯息???</a> posted by BON on September 25, 1998 at 13:19:35:<p>
<br>: 请问各位前辈,,vb6要如何接收RS232传送来的MESSAGE??<br>:<br>: 这个问题有点烦哦 , 程序给他有点复杂 ; 先问一下 , 你的 RS232 线是不是 2-3 对调的 ?<br>:<br>: 1. Main From 里宣告以下:<br> MScomm.PortOpen = True ' 启动 COM PORT<br> comWeight.InBufferCount = 0 ' 输入缓冲设定<br> comWeight.OutBufferCount = 0 ' 输出缓冲设定<br> comWeight.RThreshold = 1 ' 收讯状态启动<br> comWeight.SThreshold = 1 ' 发讯状态启动<br>:<br>: 2. 在 MSComm_OnComm() 内处理<br> Select Case MSComm.CommEvent<br> Case comEvReceive<br> If (MSComm.InBufferCount > 0) Then<br> MSComm.RThreshold = 0 ' 收入处理<br> MSComm.PortOpen = False<br> Message = MSComm.Input<br> ' Process Message .....<br> MSComm.Input = "" ' 重新启动收入<br> MSComm.RThreshold = 1<br> MSComm.PortOpen = True<br> End If<br> Case comEvSend ' 这一段还要试一试<br> If (MSCommt.OutBufferCount > 0) Then<br> MSComm.Output = Message ' 送出处理 <br> MSComm.SThreshold = 1<br> MSComm.PortOpen = True<br> ' Sleep 1 second ....<br> MSComm.Output = "" ' 关闭送出程序 <br> MSComm.SThreshold = 0<br> MSComm.PortOpen = False<br> End If<br> Case comEventRxOver <br> ' InBufferCount 不清空或太小 , 小心接收溢位<br> Case comEventTxFull<br> ' OutBufferCount 不清空或太小 , 小心传送溢位<br> End Select<br>:<br>: 3. 细节部份请自行参考 "VB线上说明" 内的 "ActiveX的控制项" 说明 , 基本上建议使用 Timer 定时控制或许比较方便<br>:<br>: 4. 以上建议纯为个人尝试经验 , 或有遗漏未定 , 可试试 <br>
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 6091-->
</ul><!--end: 6091-->
<br><hr size=7 width=75%><p>
</body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?