# device.list

## 功能

返回当前程序仍可见的已打开设备列表。

## 语法

```bt
device.list()
```

## 参数

无参数。

## 返回值

| 类型 | 说明 |
| ------ | ------ |
| Array | 返回已打开设备信息对象数组。 |

## 设备信息字段

数组中每个对象表示当前程序仍可见的一个已打开设备。

| 字段 | 类型 | 必定存在 | 说明 |
| ------ | ------ | ------ | ------ |
| type | String | 是 | 设备类型，当前为 `serial`。 |
| port | String | 是 | 打开设备时使用的串口名称。 |
| baud_rate | Int | 是 | 打开串口时使用的波特率。 |
| closed | Bool | 是 | 底层设备连接是否已经关闭。`true` 表示已经关闭，不能继续读写。 |

## 示例

```bt
// 打开一个串口后，device.list() 可以查看当前程序持有的设备句柄。
port = device.open({type: 'serial', port: 'COM3'})
items = device.list()
result = items[0].closed

// 输出：false
print result

port.close()
```

## 注意事项

- 已经被释放的弱引用会在 list 时清理。
- `device.list()` 只列出当前进程中打开过且仍被引用的设备，不是系统全量串口扫描。
