文章 姚 鑫 · 十二月 3, 2024 4m read

第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

OPENUSE 命令的关键字参数

下表描述了使用OPENUSE命令控制终端设备的关键字参数。对于每个关键字,该表列出了OPENUSE相应的字母代码协议。有关使用这些协议的其他信息可以在字母代码协议表中找到。

终端设备的 OPENUSE 关键字参数

关键词默认字母代码协议描述
/BAUD=n/BAUD= n设置端口的调制解调器波特率。支持的值取决于操作系统支持。 /SPEED/BAUD 的别名。
/BREAK[=n] /BREAK[= n ]0B/BREAK 或 /BREAK= n (对于n的非零值)启用协议。 /BREAK= n如果n值为零,则会禁用协议。
/COMPARAMS=str对应于portstate位置参数。 (此关键字提供了一种以与位置无关的方式指定 COM 端口状态字节代码字符串的方法。)可以包含在str中的端口状态字节代码列在本页前面的表中。
/COMPRESS=str""指定流数据压缩类型。可以启用 ZLIBZSTD 压缩类型。可以指定/COMPRESS=""来禁用压缩。 /COMPRESS="zlib"相当于/GZIP=1 。要压缩字符串,请使用 %SYSTEM.Util.Compress().
/CRT[=n]取决于操作系统终端设置C和PCP 协议相关。 /CRT 或 /CRT= n ( n为非零值)启用 C 协议并禁用 P 协议。 /CRT= n如果n值为零,则会禁用 C 协议并启用 P 协议。
/DATABITS=n设置串行端口的数据位数。有效值为 5、6、78
/DISCONNECT对应于端口状态位置参数的第一个字节。 /DISCONNECT 断开(挂起)COM 端口。它不会关闭端口;可以再次拨出,而无需重新打开 COM 设备。
/ECHO[=n]1S//ECHO/ECHO= n对于n的非零值禁用协议。 /ECHO= n如果n值为零则启用协议。
/EDIT[=n]0R and/EDIT/EDIT= n (对于n的非零值)启用 R 协议并禁用 N 协议。 /EDIT= n如果n值为零,则会禁用 R 协议并启用 N 协议。
/FLOW=str指定用于串行端口的流控制类型。有效值为 NONEXON。某些操作系统还支持 RTSCTS
/FLUSH[=n]0F/FLUSH/FLUSH= n (对于n的非零值)启用协议。 /FLUSH= n如果n值为零则禁用协议。
/GZIP[=n]1指定与 GZIP 兼容的流数据压缩。 /GZIP /GZIP= n (对于n的非零值)启用写入压缩和读取解压缩。 /GZIP=0 禁用压缩和解压缩。在发出 /GZIP=0 以禁用压缩和解压缩之前,请检查$ZEOS特殊变量以确保没有正在进行流数据读取。 /GZIP 压缩对 I/O 转换没有影响,例如使用 /IOTABLE 建立的转换。这是因为压缩是在所有其他转换(加密除外)之后应用的,而解压缩是在所有其他转换(加密除外)之前应用的。
/IMAGE[=n]0I /IMAGE /IMAGE= n (对于n的非零值)启用协议。 /IMAGE= n如果n值为零,则会禁用该协议。
/IOTABLE[=name]如果未指定名称,则使用设备的默认 I/O 转换表。对应K\name\协议,为设备建立I/O转换表。
/MARGIN=n0(无边距)对应margin位置参数,设置终端设备的右边距。
/MODE=n无默认值根据n的值重置协议并设置终端模式。n =0LFESC 设置为默认终止符。n =1 与模式0相同,使能S协议。n =2 与模式0相同,启用T协议。
/NOXY [=n]0$X$Y 处理: /NOXY/NOXY= n (对于n的非零值)禁用 $X$Y 处理。这可以显着提高读取和写入操作的性能。 $X$Y 变量的值是不确定的,并且保证金处理(取决于 $X)被禁用。 /NOXY=0 启用$X 和$Y 处理;这是默认设置。
/OBUFSIZE=nnn256指定终端输出缓冲区的大小(以字节为单位)。增加输出缓冲区大小可以提高在高延迟的广域网上使用 telnet 进行屏幕绘制的性能。/OBUFSIZE 的有效值为 25665536。默认值为 256
/PARAMS=str无默认值对应于协议位置参数。 (此关键字提供了一种以与位置无关的方式指定协议字母代码字符串的方法。)有关可以包含在str中的字母代码表,请参阅字母代码协议。
/PARITY=str指定串行端口的奇偶校验检查类型。有效值为无、偶数、奇数。有些操作系统还支持 MARKSPACE
/SPEED=n/SPEED 是 /BAUD 的别名。
/STOPBITS=n设置串行端口的停止位数。有效值为 12
/TERMINATOR=str无默认值对应于终止符位置参数,该参数建立用户定义的终止符。要编写str ,请参阅使用终止符结束 I/O 操作。
/TPROTOCOL[=n]0T/TPROTOCOL/TPROTOCOL= n对于n的非零值启用协议。 /TPROTOCOL= n如果n值为零,则会禁用协议。
/TRANSLATE[=n]1K/TRANSLATE/TRANSLATE= n (对于 n 的非零值)启用设备的 I/O 转换。 /TRANSLATE= n如果 n 值为零,则会禁用设备的 I/O 转换。
/UPCASE[=n]0U//UPCASE/UPCASE= n (对于 n 的非零值)启用协议。 /UPCASE= n如果n值为零,则会禁用该协议。
/XYTABLE[=name]如果未指定名称,则使用设备的默认 $X/$Y 操作表。Y\name\对应Y\name\协议,为设备建立$X/$Y动作表。

测试 OPEN 命令是否成功

要确定OPEN命令是否成功,您的代码应测试$TEST/$ZE 。仅当使用超时参数指定OPEN命令时才会设置$TEST 。一个仅当Ctrl-C断OPEN命令时才会发生错误。因此,代码不得依赖于错误。