发布时间: 2012-03-19 22:03:05 作者: rapoo
MSComm控件的使用和用途想了解MSComm控件的使用和用途?有不有相关的资料和源码?能做关于哪方面的的程序[解决办法]
TxtDisplay.Text = MSComm1.Input如果需要获得接收缓冲区的所有内容,就必须将 InputLen 属性设置为 0。这可以在设计时或运行时设置。InputMode 属性可以设置为如下 Visual Basic 常数:comInputModeText 或 comInputModeBinary,即可分别以文本或二进制格式接收传入的数据。该数据将以字符串或 Byte 数组中的二进制数据格式访问。对 ANSI 字符集的数据应使用 comInputModeText;而对其它数据,比如嵌入了控件字符、空值等的数据,应使用 comInputModeBinary。接收到的每一个字节都被移入接收缓冲区,同时 InBufferCount 属性加一。这样 InBufferCount 属性就可被用于获得接收缓冲区中字节的数目。将该属性的值设置为 0,即可清空接收缓冲区。发送缓冲区Output 属性被用来向发送缓冲区发出命令和数据。与 Input 属性类似,数据可以以文本或二进制格式发送。Output 属性必须用字符串变体型发送文本,用 Byte 数组变体型发送二进制数据。可用 Output 属性发送命令、文字字符串或 Byte 数组数据。例如:'发送 AT 命令MSComm1.Output = "ATDT 555-5555"'发送文本字符串MsComm1.Output = " This is a text string "'发送 Byte 数组数据MSComm1.Output = Out如前面提到的,每发送一行必须以回车字符 (vbCr) 结束。在上例中,Out 被定义为 Byte 数组变体型:Dim Out() As Byte。假如它是字符串变体型,则应定义为:Dim Out() As String。可用 OutBufferCount 属性监视发送缓冲区中的字节数目。将该值设置为 0 可将发送缓冲区清空。握手要保证数据传输成功,必须对接收和发送缓冲区进行管理。例如,要保证接收数据的速度不超出缓冲区的限制。握手是指一种内部的通讯协议,通过它将数据从硬件端口传输到接收缓冲区。当串行端口收到一个字符时,通讯设备必须将它移入接收缓冲区中,使程序能够读到它。如果数据到达端口的速度太快,通讯设备可能来不及将数据移入接收缓冲区,握手协议保证不会由于缓冲区溢出而导致丢失数据。设置 Handshaking 属性可以指定在应用程序中使用的握手协议。缺省情况下,该值被设置为空。然而,可将其设置为下面列出的其它协议:设置值 值 描述 comNone 0 不使用握手协议(缺省) comXOnXOff 1 XOn/XOff 握手。 comRTS 2 RTS/CTS (请求发送/清除发送) 握手。 comRTSXOnXOff 3 两者,RTS 握手和XOn/XOff 握手。 需要使用什么协议与连接到的设备有关。如果将该值设置为 comRTSXOnXOff,可以同时支持两种协议。在许多情况中,通信协议本身能处理握手。因而,设置此属性为非 comNone 的其它一些值可能会导致冲突。注意 如果将该值设置为 comRTS 或 comRTSXOnXOff,则需要将 RTSEnabled 属性设置为 True,否则虽然能够连接并发送数据,但不能接收数据。OnComm 事件和 CommEvent 属性根据应用程序的用途和功能,在连接到其它设备过程中,以及接收或发送数据过程中,可能需要监视并响应一些事件和错误。可以使用 OnComm 事件和 CommEvent 属性捕捉并检查通讯事件和错误的值。在发生通讯事件或错误时,将触发 OnComm 事件,CommEvent 属性的值将被改变。因此,在发生 OnComm 事件的时候,如果有必要,可以检查 CommEvent 属性的值。由于通讯(特别是通过电话线的通讯)是不可预料的,捕捉这些事件和错误将有助于使应用程序对这些情况作出相应的反应。下表列出了可能触发 OnComm 事件的通讯事件。对应的值将在发生事件时被写入 CommEvent 属性。常数 值 描述 ComEvSend 1 发送缓冲区中的字符数少于 SThreshold。 ComEvReceive 2 接收到 Rthreshold 个字符。在使用 Input 属性移去接收缓冲区中的数据之前,该事件将持续产生。 ComEvCTS 3 CTS 信号发生变化。 ComEvDSR 4 DSR 信号发生变化。该事件仅在 DSR 由 1 变为 0 时触发。 ComEvCD 5 CD 信号发生变化。 ComEvRing 6 检测到电话振铃。某些 UART(通用异步收发器)可能不支持本事件。 ComEvEOF 7 收到文件结束符(ASCII 字符 26)。 下列错误同样会触发 OnComm 事件,并且在 CommEvent 属性中写入相应的值。设置值 值 描述 ComEventBreak 1001 收到 Break 信号。 ComEventFrame 1004 帧错误。硬件检测到帧错误。 ComEventOverrun 1006 端口超限。在下一个字符到达端口之前,前一字符还没有从硬件中读走,因而丢失。 ComEventRxOver 1008 接收缓冲区溢出。接收缓冲区已没有空间。 ComEventRxParity 1009 奇偶校验错误。硬件检测到奇偶校验错误。 comEventTxFull 1010 发送缓冲区满。在试图将字符传入发送缓冲区时,该缓冲区已满。 ComEventDCB 1011 在为端口获取设备控制块 (DCB) 时,发生不可预料的错误。
怎么中止数据上传
VB 图像中数目字识别有什么办法?(
请教哪位高手知道下面的是什么编码吗?
怎样用VBA杀掉系统里的某个程序过程呢
资源推荐:代码自动生成、Com开发、串
vb.net中怎的获取日期中的年月日时分秒
VBA中无法打印ASCII值超过128~255之间
VBA怎的访问到文件夹里的每个文件
RtlRandom 的用法?该怎么解决
求个正则表达式,把字符串中除了数字和