通信
串口
按打开、关闭、写入、读取四类操作管理串口,可配置端口、波特率、数据位、校验位与停止位,支持长度前缀、分隔符或原始流三种组帧方式,输出读取内容与读写统计SerialPortTool · v1.0 · by system
输入参数 12
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 通信配置ID | commId | enum | (空) | 否 | 非空时按该标识复用共享的常驻串口资源,打开操作仅确认就绪而不新建端口,关闭操作只解除本工具引用、共享端口仍保持打开;留空则使用本实例的独立串口并读取下方串口参数 |
| 串口号 | portName | enum | COM1 | 否 | 要打开的串行端口名称,默认 COM1;界面在 COM1 至 COM10 之间取值,作为打开串口时的设备名,常驻模式下也会用它匹配共享资源,端口不存在或打开失败时返回 -1 并在运行信息说明原因 |
| 波特率 | baudRate | enum | 9600 | 否 | 串口通信速率,以字符串给出且默认 9600;界面提供 9600、19200、38400、57600、115200 几档,程序要求整串为不超过 4000000 的十进制正整数,非法取值会返回 -1 并在运行信息给出原因 |
| 数据位 | dataBits | int | 8 | 否 | 每帧字符的数据位宽度,默认 8;该值作为串口字符长度设置写入设备,未提供时按 8 处理,界面在 5、6、7、8 之间取值,打开串口时与其它串口参数一起生效 |
| 校验位 | parity | enum | none | 否 | 串口奇偶校验方式,默认 none 即无校验;取 even 时启用偶校验、取 odd 时启用奇校验,其它任何取值都按无校验处理,该设置仅在打开串口时随其它参数一并应用 |
| 停止位 | stopBits | int | 1 | 否 | 串口停止位位数,默认 1;只有显式取 2 时才设置为两位停止位,其余取值一律按一位停止位处理,该设置同样在打开串口时生效 |
| 操作 | operation | enum | open | 否 | 本次调用执行的动作,默认 open;open 按当前参数打开串口、close 关闭本实例串口、write 发送数据、read 在超时时间内收取数据,未识别的操作返回 -1 并在运行信息写明未知操作 |
| 写入数据 | data | string | (空) | 否 | write 操作要发送的字节内容,非原始流模式下会先按所选帧格式编码再发送;未提供该输入时视为空数据,仍返回成功但跳过实际写入并把写入字节数置 0,组帧编码失败则返回 -1 |
| 读取超时(ms) | readTimeoutMs | int | 1000 | 否 | read 操作等待串口数据的最长毫秒数,默认 1000;取 0 或负数时按 1000 处理,超时且一个字节都未读到时返回 -1 并提示接收超时,已收到部分数据则按成功返回 |
| 组帧模式 | frameMode | enum | raw | 否 | 串口数据的分帧方式,默认 raw 表示按原始字节流收发、不额外加帧头;length-prefix 用长度前缀分帧,delimiter 用帧分隔符分帧,取值无法识别或组帧配置非法时返回 -1 并在运行信息说明 |
| 长度字段字节数 | lengthFieldBytes | int | 4 | 否 | 仅在 length-prefix 模式下生效的长度字段宽度,默认 4,可在 1、2、4、8 之间取值;它决定帧头中长度字段占用的字节数,写入时按该宽度编码、读取时按同样宽度解码帧边界 |
| 帧分隔符 | frameDelimiter | string | \r\n | 否 | 仅在 delimiter 模式下生效的帧边界分隔符,默认回车换行且可含多个字节;写入时追加到数据末尾,读取时按它切分并自动剔除分隔符只保留有效载荷,不一致的分隔符会导致无法凑齐完整帧 |
输出参数 6
| 名称 | keyId | 类型 | 默认值 | 可连接 | 说明 |
|---|---|---|---|---|---|
| 运行结果 | resultCode | int | — | 否 | 0=成功完成打开、关闭、写入或读取操作;-1=组帧参数非法、波特率非法、串口未打开、写入或读取异常、接收超时未读到数据、帧未凑齐、协议错误或操作无法识别,运行信息写明具体原因 |
| 运行信息 | resultInfo | string | — | 否 | 本次操作的文字描述,成功时给出串口已打开、串口已关闭、已写入多少字节或已读取多少字节等信息,失败时改为具体原因,如串口未打开、接收超时、组帧失败或未知操作,便于排查连线与参数 |
| 读取数据 | read_data | string | — | 否 | read 操作取回的内容,原始流模式下是本次收到的原始字节串;启用组帧时为解码后第一条完整帧的有效载荷,已剔除长度字段或帧分隔符,未凑齐完整帧或接收失败时不写出该结果 |
| 写入字节 | bytes_written | int | — | 否 | write 操作实际写入串口的字节数,启用组帧时统计的是编码后含帧头或分隔符的总长度;写入数据缺失而跳过发送时该值为 0,串口未打开或写入失败时不产生该输出 |
| 读取字节 | bytes_read | int | — | 否 | read 操作取回的字节数,原始流模式下等于本次收到的字节数,启用组帧时等于解码后载荷长度;组帧数据未凑齐完整帧时仍给出已缓存的字节数,可据此判断接收是否完整 |
| 帧数 | frame_count | int | — | 否 | read 操作一次解析出的完整帧条数,仅在启用组帧且成功凑齐帧时写出;原始流模式不组帧因此不产生该输出,可配合读取数据与读取字节判断本次收帧情况 |
接入方式
联系与反馈
获取安装包与技术反馈
安装包通过微信二维码获取。安装部署、界面组态与工具配置过程中的问题,可通过同一渠道反馈,无需注册或填写表单。
- 安装包获取与部署说明
- 界面组态与工具配置
- 功能建议与问题反馈

微信扫码 · 安装包与问题反馈