# device 串口通信

## 功能

通过 `device.open({type: 'serial', ...})` 打开串口后，可以调用 `read()`、`write(data)`、`flush()` 和 `close()`。

## 语法

```bt
port = device.open({
    type: 'serial',
    port: 'COM3',
    baud_rate: 9600,
    data_bits: 8,
    stop_bits: 1,
    parity: 'none',
    timeout: 1000
})

port.write('BT')
text = port.read()
port.flush()
port.close()
```

## 参数

| 字段 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|------|------|
| type | String | 否 | serial | 设备类型，当前仅支持 serial。 |
| port | String | 是 | 无 | 串口名称。 |
| baud_rate | Int | 否 | 9600 | 波特率。 |
| data_bits | Int | 否 | 8 | 数据位。 |
| stop_bits | Int | 否 | 1 | 停止位。 |
| parity | String | 否 | none | 校验位。 |
| timeout | Int | 否 | 1000 | 读写超时毫秒数。 |

## 返回值

| 类型 | 说明 |
|------|------|
| Device | 返回串口设备句柄。 |

## 示例

```bt
port = device.open({type: 'serial', port: 'COM3'})
result = type(port)

// 输出：Device
print result
```

## 注意事项

- 配置字段统一使用 snake_case。
- read() 返回合法 UTF-8 字符串；非 UTF-8 数据返回字节数组。
