# com.comm 库模块帮助文档

## com 成员列表 <a id="com" href="#com">&#x23;</a>

### com.comm <a id="com.comm" href="#com.comm">&#x23;</a>
MSComm串口通信控件

### com.comm() <a id="com.comm" href="#com.comm">&#x23;</a>
创建MSComm串口通信控件  

[返回对象:mscomm32Object](#mscomm32Object)

### com.comm(false) <a id="com.comm" href="#com.comm">&#x23;</a>
创建MSComm串口通信控件  
禁用onComm事件

## mscomm32Object 成员列表 <a id="mscomm32Object" href="#mscomm32Object">&#x23;</a>

### mscomm32Object.break <a id="mscomm32Object.break" href="#mscomm32Object.break">&#x23;</a>
布尔值,设置或清除中断信号

### mscomm32Object.cdHolding <a id="mscomm32Object.cdHolding" href="#mscomm32Object.cdHolding">&#x23;</a>
布尔值  
通过查询 Carrier Detect (CD) 线的状态确定当前是否有传输

### mscomm32Object.cdTimeout <a id="mscomm32Object.cdTimeout" href="#mscomm32Object.cdTimeout">&#x23;</a>
数值,CD超时

### mscomm32Object.comInputModeBinary <a id="mscomm32Object.comInputModeBinary" href="#mscomm32Object.comInputModeBinary">&#x23;</a>
设为InputMode的值时以二进制模式取回数据

### mscomm32Object.comInputModeText <a id="mscomm32Object.comInputModeText" href="#mscomm32Object.comInputModeText">&#x23;</a>
设为InputMode的值时以文本方式取回数据

### mscomm32Object.comNone <a id="mscomm32Object.comNone" href="#mscomm32Object.comNone">&#x23;</a>
没有握手。

### mscomm32Object.comRTS <a id="mscomm32Object.comRTS" href="#mscomm32Object.comRTS">&#x23;</a>
RTS/CT握手

### mscomm32Object.comRTSXOnXOff <a id="mscomm32Object.comRTSXOnXOff" href="#mscomm32Object.comRTSXOnXOff">&#x23;</a>
RTS和XON/XOFF握手

### mscomm32Object.comXOnXOff <a id="mscomm32Object.comXOnXOff" href="#mscomm32Object.comXOnXOff">&#x23;</a>
XON/XOFF 握手

### mscomm32Object.commEvent <a id="mscomm32Object.commEvent" href="#mscomm32Object.commEvent">&#x23;</a>
onComm事件代码

### mscomm32Object.commId <a id="mscomm32Object.commId" href="#mscomm32Object.commId">&#x23;</a>
数值  
串口被打开时，被API所调用的串口句柄或称标志，这也意味着能利用API接口函数去修改这个常量

### mscomm32Object.commPort <a id="mscomm32Object.commPort" href="#mscomm32Object.commPort">&#x23;</a>
数值,指定端口号

### mscomm32Object.ctsHolding <a id="mscomm32Object.ctsHolding" href="#mscomm32Object.ctsHolding">&#x23;</a>
布尔值  
确定是否可通过查询 Clear To Send (CTS) 线的状态发送数

### mscomm32Object.ctsTimeout <a id="mscomm32Object.ctsTimeout" href="#mscomm32Object.ctsTimeout">&#x23;</a>
数值,CTS超时

### mscomm32Object.dsrHolding <a id="mscomm32Object.dsrHolding" href="#mscomm32Object.dsrHolding">&#x23;</a>
布尔值  
确定 Data Set Ready (DSR) 线的状态。  
Data Set Ready 信号由调制解调器发送到相连计算机，指示作好操作准备。  
该属性在运行时为只读。

### mscomm32Object.dsrTimeout <a id="mscomm32Object.dsrTimeout" href="#mscomm32Object.dsrTimeout">&#x23;</a>
数值,DSR超时

### mscomm32Object.dtrEnable <a id="mscomm32Object.dtrEnable" href="#mscomm32Object.dtrEnable">&#x23;</a>
布尔值  
设置为 True，端口打开时DRT线设置为高电平，端口关闭时，设置为低电平

### mscomm32Object.eofEnable <a id="mscomm32Object.eofEnable" href="#mscomm32Object.eofEnable">&#x23;</a>
布尔值,  
确定在输入过程中 MSComm 控件是否寻找文件结尾 (EOF) 字符  
如果找到 EOF 字符，将停止输入并激活 OnComm 事件，  
此时 CommEvent 属性设置为 comEvEOF

### mscomm32Object.getInput() <a id="mscomm32Object.getInput" href="#mscomm32Object.getInput">&#x23;</a>
读取输入数据,与input属性作用相同

### mscomm32Object.handshaking <a id="mscomm32Object.handshaking" href="#mscomm32Object.handshaking">&#x23;</a>
设置硬件握手信号

### mscomm32Object.inBufferCount <a id="mscomm32Object.inBufferCount" href="#mscomm32Object.inBufferCount">&#x23;</a>
数值，当前接收缓冲区接收到的数据的长度

### mscomm32Object.inBufferSize <a id="mscomm32Object.inBufferSize" href="#mscomm32Object.inBufferSize">&#x23;</a>
数值，接收缓冲区的大小,默认值为1024,也可以自己设

### mscomm32Object.input <a id="mscomm32Object.input" href="#mscomm32Object.input">&#x23;</a>
输入数据

### mscomm32Object.inputLen <a id="mscomm32Object.inputLen" href="#mscomm32Object.inputLen">&#x23;</a>
数值,确定被 input 属性读取的字符数。  
设置为 0，则读取缓冲区中全部的内容

### mscomm32Object.inputMode <a id="mscomm32Object.inputMode" href="#mscomm32Object.inputMode">&#x23;</a>
设置输入方式  
使用对象的comInputModeText,comInputModeBinary常量赋值

### mscomm32Object.interval <a id="mscomm32Object.interval" href="#mscomm32Object.interval">&#x23;</a>
数值,时间间隔,单位为毫秒,缺省为1000

### mscomm32Object.nullDiscard <a id="mscomm32Object.nullDiscard" href="#mscomm32Object.nullDiscard">&#x23;</a>
布尔值,是否将null字符传输给接收缓冲区

### mscomm32Object.outBufferCount <a id="mscomm32Object.outBufferCount" href="#mscomm32Object.outBufferCount">&#x23;</a>
数值,当前发送缓冲区中数据的长度  
赋值为0可清空输出缓冲区

### mscomm32Object.outBufferSize <a id="mscomm32Object.outBufferSize" href="#mscomm32Object.outBufferSize">&#x23;</a>
数值,发送缓冲区的大小,默认值为1024,也可以自己设定

### mscomm32Object.output <a id="mscomm32Object.output" href="#mscomm32Object.output">&#x23;</a>
发送数据，只写属性  
如果赋值为字符串，则以文本模式发送  
如果赋值为buffer类型字节数组,则以二进制模式发送数据

### mscomm32Object.parityReplace <a id="mscomm32Object.parityReplace" href="#mscomm32Object.parityReplace">&#x23;</a>
当发生奇偶校验错误时，设置并返回替换数据流中一个非法字符的字符

### mscomm32Object.portOpen <a id="mscomm32Object.portOpen" href="#mscomm32Object.portOpen">&#x23;</a>
布尔值,端口是否打开

### mscomm32Object.rThreshold <a id="mscomm32Object.rThreshold" href="#mscomm32Object.rThreshold">&#x23;</a>
数值,设置收到多少个字符后触发OnComm事件

### mscomm32Object.rtsEnable <a id="mscomm32Object.rtsEnable" href="#mscomm32Object.rtsEnable">&#x23;</a>
布尔值  
设置为 True，端口打开时RTS线设置为高电平，端口关闭时，设置为低电平

### mscomm32Object.sThreshold <a id="mscomm32Object.sThreshold" href="#mscomm32Object.sThreshold">&#x23;</a>
数值,若设置为 0（缺省值），数据传输事件不会产生 OnComm 事件。  
若设置为 1，当传输缓冲区完全空时，产生 OnComm 事件

### mscomm32Object.settings <a id="mscomm32Object.settings" href="#mscomm32Object.settings">&#x23;</a>
字符串,设置波特率等参数  
例如"9600,N,8,1"

## mscomm32Object 事件列表 <a id="mscomm32ObjectEvent" href="#mscomm32ObjectEvent">&#x23;</a>

### mscomm32Object.onComm <a id="mscomm32Object.onComm" href="#mscomm32Object.onComm">&#x23;</a>

```aardio
mscomm32Object.onComm = function(event){
    if( event == mscomm32Object.comEvReceive ){ 
     	io.print( "收到数据:",mscomm32Object.input ); 
    }	
}
```

