突破MsComm控件RThreshold限制 全部数据统统收!

2016-01-29 13:09 5 1 收藏

突破MsComm控件RThreshold限制 全部数据统统收!,突破MsComm控件RThreshold限制,全部数据统统收!

【 tulaoshi.com - ASP.NET 】


全局参数:Private Rv_data() As Byte '存放接收的数据Private tmpRV() As Byte '存放暂存的数据Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Form_Load ()中先初始化控件参数With MSComm1.Settings = "9600,N,8,1".InputMode = 1 '设置接受数据的类型是二进制类型数据.InputLen = 8 '一次性从接收缓冲区中读取所有数据(8个字节为一组).InBufferCount = 0 '清空接收缓冲区.OutBufferCount = 0 '清空发送缓冲区.SThreshold = 0 '一旦发送数据就触发OnComm()事件来检测是否返回数据.RThreshold = 1 '接收到1个字节数据就立即触发OnComm()事件.CommPort = 1 '使用第一个串口.PortOpen = True '打开串口End With
思路是这样的:按8个为一组然后一组一组地进行取出,直到缓冲区数据全部取完为止Private Sub MSComm1_OnComm()Dim UB1%, UB2%, TM As Integer, i As IntegerSelect Case MSComm1.CommEventCase comEvReceive Sleep (20) '相隔20ms就可以正确接收到24个字节的数据 Do While MSComm1.InBufferCount > 0 TM = TM + 1 If TM = 1 Then Rv_data = MSComm1.Input Else tmpRV = MSComm1.Input UB1 = UBound(Rv_data) UB2 = UBound(tmpRV) + 1 '元素比下标大1 ReDim Preserve Rv_data(UB1 + UB2) For i = UB1 + 1 To UB1 + UB2 Rv_data(i) = tmpRV(i - UB1 - 1) Next i End If LoopIf Check_RvData Then Call Response_OK() '这里用来进行正确的处理Else Call Response_Bad() '这里用来进行错误处理End IfErase tmpRVErase Rv_dataEnd SelectEnd Sub

来源:https://www.tulaoshi.com/n/20160129/1489116.html

延伸阅读
标签: 电脑入门
经常使用PowerPoint制作幻灯片的朋友一定清楚,在默认情况下,PowerPoint的操作可撤销次数只有短短的20次,这远远少于我们平时使用的Word和Excel,而这短短的20次机会在很多情况下的确不能满足我们的需要。所以,如何突破PowerPoint的20次可撤销限制自然就成了当务之急。其实,PowerPoint本身就提供了这项功能的设置,只不过好多朋友没有注意罢...
近日,一位Discuz!老用户的论坛在发表回复时出现“The table is full”的提示,字面意义上是数据表已满的意思。因为很少有开发者遭遇单一表超过4G的情况,因此朋友间的讨论只能提供一些外围的信息。为解决此问题,我翻阅了很多资料,本文将以我此次问题的解决过程,介绍问题发生的原因及对策。 根据经验,The table is full提示往往出...
标签: Web开发
创建带有数据的互动网页很简单,只需通过拖拉,设置属性并储存页面即可,并不需要编程,不过Visual InterDev提供了一个完整的对象模型,可让你调整应用程序,进行用户确认并控制Web应用程序,也支持DHTML及IE4数据控制以获得更丰富的用户界面,要生成一个使用数据控件创建的简单数据输入页面的步骤如下: (1),在创建一个新的数据连接后,将...
标签: 电脑入门
买过QQ号的都知道,刚买到的新号在修改密码的时候都会碰到诸于由于QQ不在经常上网的IP段内,不能修改密码的提示.如果买的号是别人盗来的QQ,上了号不能改密码就很可能有飞号的危险,那怎样才能突破IP限制顺利的修改qq密码呢? 教你下面11飞方法,总有你合适的。 1.挂兩天,每天兩个小时,第二天下午基本能改 2.改自己电脑的时间,每次往后改一...
标签: 聊天软件
  大家都知道非会员QQ的网络硬盘的共享人数是不能超过5个的。 要想突破这个限制,你可以升级为QQ会员。 不想出钱??可以!其实很简单—— 首先,在任意一个你要共享给别人的文件夹里面(比如“我的文档”)建个叫“ABC”(其实叫什么都无所谓)的文件夹。 然后,把你要和别人共享的文件上传到“ABC”文件夹下。 ...

经验教程

765

收藏

20

精华推荐

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部