设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> Visual Basic >> vb开发通信软件(cloud转贴)
精品推荐
Visual Basic点击TOP10
·VB中使用EXCEL输出
·用vb实现DES加解密算法(三)--解密
·vsprint打印实例
·VB实现SQL Server数据库备份/恢复
·DirectX 7 编程初步
·用vb实现DES加解密算法(二)--加密
·VB 贪吃蛇 单人版游戏 (原作)
·如何在IE右键菜单中添加菜单项以及如何添加IE任务栏按钮
·VB6.0中通过MSChart控件调用数据库
·让VB应用程序支持鼠标滚轮
编程开发点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·ASP.NET 程序中常用的三十三种代码
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·java笔试题
·Modem 常用AT指令集
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

vb开发通信软件(cloud转贴)

作者: 来源:网络文章 时间:2005-12-13 18:10:26

vb开发通信软件(cloud转贴)(3)
Windows串行通信驱动程序的事件驱动特性仍有不稳定的缺陷。如InputLenΚ0时,有可能取出不完整的数据。为保证可靠,采取降低处理速率的方法,保证下位机发送的数据流完整地进入输入缓冲区。设InputLenΚ1,即每次从缓冲区中取一个字符。也可采用轮询方法,定时检测输入缓冲区。下位机定时发送数据:

Sub Timer1-Timer()

If comm1.CDHoldingΙΛcdThen

str1$-text1(i).Text

strin2$Κstrin1$′上一字符串

strin1$Κstr1$′当前字符串

strin3$ΚFormat$(Len(strin1$),″0000″)&chr$(8)&strin2$

′传送当前字符串长度,以及上一字符串内容

com m1.OutPutΚstrin3$

Do DoEventsLoopUntilcomm1.OutBufferCountΚ0

Else

Timer1.EnabledΚ0

End If

End Sub

上位机检测CD状态,判断是否连通、并接收处理数据。

Sub Comm1-OnComm()

Select Case comm1.CommEvent

Case5 ′MSCOMM-EV-CD检测CD状态,判断是否连通

comm1.InBufferCountΚ0′清输入缓冲区

comm1.RThresholdΚ4′当输入缓冲区中有五个字符,

Case2′MSCOMM-EV-RECEIVE产生EV-RECEIVE事件,接收处理数据

Do DoEvents

Ifcomm1.InBufferCountThen′循环从缓冲区中取数据

str1$Κstr1$+comm1.Input

Else

Exit Do

End If

Loop

len2Κ1en1′当前字符串长度

len1ΚVa1(Left$(str1$,5))′即将发送的字符串长度

comm1.RThresholdΚlen1+4

strin$ΚRight$(str1$,len2)′数据处理

……

End Select

str1$Κ″″

End Sub

4.根据设置的AT命令“&D2”,当置DTR信号为低时,Modem挂机进入命令状态。也可通过串口输出““+++ATH”+chr$(13)”字符串挂机。

Sub Hang-click()

If comm1.CDHoldingΙΛcdThen′检测CD,判断是否挂机

comm1.DTRenableΚ0

comm1.DTRenableΚ-1′置DTR信号为高,为下一次通信准备

End If

End Sub

5.退出程序时,一定要关闭串口

Sub Exitcomm()

comm1.PortOpenΚfalse

End

End Sub

四、Windows通信机制和VB3.0通信控件潜在缺陷

在通信软件编制过程中,我们发现Windows下通信机制采用的“事件驱动”在实际运行中不稳定。如在文件传输过程中,误码和数据丢失的情况时有发生;若串口波特率过高,会产生无法通信或在通信过程中随机挂机的情况。这主要是由于Windows本身通信机制和通信线路介质及质量的影响。为保证数据传输稳定可靠,可采用通信协议如XModem-CRC或YModem。在MSCOMM.VBX通信控件中,Rthreshold属性值大小与输入缓冲区InBufferSize大小有关,当Rthreshold值较接近InBufferSize值时,有可能不产生EV-RECEIVE事件,为保证产生该事件,可将InBufferSize值取得较大

共3页 9 7 [1] [2] [38 :>

vb开发通信软件(cloud转贴) 相关文章:
vb开发通信软件(cloud转贴) 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com