aardio 文档

sio 库模块帮助文档

sio 成员列表

基于 PComm Lite 的串口通信扩展库

sio.baudRates()

返回所有可用波特率数组

sio.eachBaudRate()

for baud in sio.eachBaudRate(){

}

sio.port("COM1")

打开串口,成功返回对象,
参数如果是字符串,打开端口失败返回null,错误信息,错误代码,成功返回对象,
参数如果是数值,打开端口失败仍然会返回对象,可用于绑定已经打开的端口,
不指定参数直接返回对象,可以在后面使用open函数打开端口

sio.port()

返回对象:sioportObject

sioportObject 成员列表

sioportObject.abortRead()

强制中止read,getch等读数据函数

sioportObject.abortWrite()

强制中止Write,putch等写数据函数

sioportObject.breakIrq(回调函数)

sioportObject.breakIrq(function(port){  
    /*接收到中断信号时触发时件  
在当前界面线程同步触发此事件*/  
} )

sioportObject.breakIrqThread(回调函数,owner对象)

sioportObject.breakIrqThread(function(port){  
    var sport = sio.port(port);/*接收到中断信号时触发时件*/  
} )

sioportObject.close()

关闭串口
这个函数不会被析构函数自动调用,
应在确认不再使用时调用此函数关闭串口

sioportObject.dataStatus()

检查接收数据时是否遇到错误
0表示无错误,小于0表示函数执行错误,大于0时各二进制位作用:
bit 0 on - parity error
bit 1 on - framing error
bit 2 on - overrun error
bit 3 on - overflow error

sioportObject.flush(接收缓冲区,发送缓冲区)

清除接收、发送缓冲区
对应参数为true清除该缓冲区
无参数时清除接收缓冲区

sioportObject.getBaudRate()

返回串口波特率
失败返回null,错误信息

sioportObject.getFlow()

返回4个值:
分别表示CTS、RTS硬流控,TX、RX软流控是否开启

sioportObject.getLineStatus()

获取串口的CTS, DST, DCD, RI线的状态

sioportObject.getMode()

返回串口的工作模式
返回值为三个,分别为:数据位,停止位,校验位
失败返回null,错误信息

sioportObject.getReadTimeouts()

返回读数据总超时,间隔超时两个值,单位毫秒

sioportObject.getWriteTimeouts()

返回写数据总超时,间隔超时两个值,单位毫秒

sioportObject.getch()

读取一个字节码
失败返回null,错误信息

sioportObject.ioctl(波特率,数据位,停止位,校验位)

设置串口的工作模式
波特率为数值,省略时使用默认值9600
数据位为数值,可选值为5,6,7,8,省略时默认值为8
停止位可选值为1,2,不指定时默认为1
校验位使用字符串值指定,可选值为"even","odd","spc","mrk",可省略以设置空校验位

sioportObject.iqueue()

返回输入缓冲区字符长度
失败返回null,错误信息

sioportObject.lctrl(dtr,rts)

设置串口RTS/DTS,参数使用布尔值

sioportObject.modemIrq(回调函数)

sioportObject.modemIrq(function(port){  
    /*当硬件线路(CTS, DSR, CD, RI)的电压发生变化时触发时件  
在当前界面线程同步触发此事件*/  
} )

sioportObject.modemIrqThread(回调函数,owner对象)

sioportObject.modemIrqThread(function(port){  
    var sport = sio.port(port);/*当硬件线路(CTS, DSR, CD, RI)的电压发生变化时触发时件*/  
} )

sioportObject.open()

修改端口号并打开端口,成功返回true,
失败返回null,错误信息,错误代码

sioportObject.oqueue()

返回发送缓冲区中剩余的数据长度

sioportObject.putch()

发送一个节节码
成功返回长度,失败返回null,错误信息

sioportObject.read()

读取数据,可选指定读取缓冲区长度
成功返回数据,失败返回null,错误信息
如果没有指定长度且没有接收到数据返回null

sioportObject.readBuffer(缓冲区,读取长度)

读取数据到buffer缓冲区,读取长度可省略
成功返回读取长度,失败返回null,错误信息

sioportObject.readHex()

读取数据并以十六进制编码显示
成功返回数据,失败返回null,错误信息

sioportObject.receiveAscii(超时秒数,进度回调函数)

sioportObject.transmitAscii(5/*秒*/,  
    function(length,bufSize,buf,total){  
        /*接收文件协议:ASCII,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收文件名的 buffer 类型字节数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.receiveKermit(进度回调函数,最大文件数)

sioportObject.receiveKermit(  
    function(length,bufSize,buf,total){  
        /*接收文件协议:Kermit,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收多个文件名的 buffer 类型字节数组的数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.receiveXmodem1kCrc(进度回调函数)

sioportObject.receiveXmodem1kCrc(  
    function(length,bufSize,buf,total){  
        /*接收文件协议:XMODEM, 1K block size, 16 bit CRC,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收文件名的 buffer 类型字节数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.receiveXmodemCheckSum(进度回调函数)

sioportObject.receiveXmodemCheckSum(  
    function(length,bufSize,buf,total){  
        /*接收文件协议:XMODEM,CHECKSUM,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收文件名的 buffer 类型字节数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.receiveXmodemCrc(进度回调函数)

sioportObject.receiveXmodemCrc(  
    function(length,bufSize,buf,total){  
        /*接收文件协议:XMODEM, 16 bit CRC,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收文件名的 buffer 类型字节数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.receiveYmodem(进度回调函数,最大文件数)

sioportObject.receiveYmodem(  
    function(length,bufSize,buf,total){  
        /*接收文件协议:Ymodem,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收多个文件名的 buffer 类型字节数组的数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.receiveZmodem(进度回调函数,最大文件数)

sioportObject.receiveZmodem(  
    function(length,bufSize,buf,total){  
        /*接收文件协议:Zmodem,  
这函数会一直等待接收,不需要写到其他事件回调里,  
owner 参数为存储接收多个文件名的 buffer 类型字节数组的数组,  
注意文件存储在当前目录下,可使用 io.curDir 函数修改当前目录,  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.request(发送数据,匹配模式,最小读取时间,最少字节数)

发送数据并等待读取响应数据,返回响应数据,
等待过程中不会阻塞界面消息,
发送数据可以在单引号里直接使用16进制编码,例如"AT"可以写为'\x41\x54',
其他参数为可选参数,
如果参数@2指定匹配模式,则对响应数据应用模式匹配并返回结果,
最小读取时间默认为10毫秒,
最少字节数默认为1

此函数等待最少字节数到达,并等待最小读取时间后读取并返回数据

sioportObject.setBaudRate(波特率)

设置串口波特率
失败返回null,错误信息

sioportObject.setFlow(CTS硬流控,RTS硬流控,TX软流控,RX软流控)

设置串口流控

sioportObject.setReadTimeouts(总超时,间隔超时)

设置读数据超时,单位毫秒

sioportObject.setWriteTimeouts(总超时,间隔超时)

设置写数据超时,单位毫秒

sioportObject.termCntIrq(指定长度,回调函数)

sioportObject.termCntIrq(/*当接收到参数 @1 指定字节长度的数据,  
在当前界面线程回调参数 @2 指定的函数。  
注意在此回调函数内读取串口数据可能返回 null 值。  
接收文件的代码不用写在这里。*/,function(port){  
    var data = sioportObject.read();  
    if(!data) return;  

} )

sioportObject.termCntIrqThread(指定长度,回调函数,owner对象)

sioportObject.termCntIrqThread(/*接收到指定个字节时响应事件*/,function(port){  
    var sport = sio.port(port);  
} )

sioportObject.termIrq(指定字节码,回调函数)

sioportObject.termIrq(/*接收到指定字节码时在当前界面线程同步触发此事件,  
接收文件不用写在这个事件里*/,function(port){  

} )

sioportObject.termIrqThread(指定字节码,回调函数,owner对象)

sioportObject.termIrqThread(/*线程接收到指定字节码时响应事件*/,function(port){  
    var sport = sio.port(port);  
} )

sioportObject.transmitAscii(文件路径,进度回调函数)

sioportObject.transmitAscii("发送文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:ASCII  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.transmitKermit(文件路径,进度回调函数)

sioportObject.transmitKermit("文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:Kermit  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.transmitXmodem1kCrc(文件路径,进度回调函数)

sioportObject.transmitXmodem1kCrc("发送文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:XMODEM, 1K block size, 16 bit CRC  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.transmitXmodemCheckSum(文件路径,进度回调函数)

sioportObject.transmitXmodemCheckSum("发送文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:XMODEM,CHECKSUM  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.transmitXmodemCrc(文件路径,进度回调函数)

sioportObject.transmitXmodemCrc("发送文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:XMODEM, 16 bit CRC  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.transmitYmodem(文件路径,进度回调函数)

sioportObject.transmitYmodem("发送文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:Ymodem  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.transmitZmodem(文件路径,进度回调函数)

sioportObject.transmitZmodem("发送文件路径",  
    function(length,bufSize,buf,total){  
        /*传输文件协议:Zmodem  
@length 为当前传输大小,@total 为总大小小,其他参数仅用于调试*/  
    }  
)

sioportObject.txEmptyIrq(回调函数)

sioportObject.txEmptyIrq(function(port){  
    /*输出缓冲区最后一个字符发送后触发此事件  
在当前界面线程同步触发此事件*/  
} )

sioportObject.txEmptyIrqThread(回调函数,owner对象)

sioportObject.txEmptyIrqThread(function(port){  
    var sport = sio.port(port);/*输出缓冲区最后一个字符发送后触发此事件*/  
} )

sioportObject.write(数据,长度)

写入数据,
可以在单引号里直接使用16进制编码,例如"AT"可以写为'\x41\x54',
不指定长度时自动获取数据长度
成功返回写入长度,失败返回null,错误信息

sioportObject.writeHex(数据)

写入十六进制编码数据

全局常量

::Pcomm

返回对象:dllmoduleObject

Markdown 格式