From 1877337a98d57a06afe4d87d9708ecf854295dcf Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Sat, 13 Sep 2025 02:55:06 +0000 Subject: [PATCH] Update README.md --- README.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) diff --git a/README.md b/README.md index e69de29..b2c9b23 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,79 @@ +# Longbow.SerialPorts + +`Longbow.SerialPorts` 是一个基于 .NET 的串口通信库,旨在为开发者提供简单、高效的串口数据传输解决方案。该库支持异步操作,适用于需要与串口设备进行交互的各种应用场景,如工业自动化、物联网设备通信等。 + +## 特性 + +- 异步串口通信:支持异步打开、发送、接收和关闭串口连接。 +- 配置灵活:可自定义串口参数,包括波特率、数据位、校验位、停止位等。 +- 跨平台支持:适用于支持 .NET 的多种操作系统环境。 +- 依赖注入友好:提供 `IServiceCollection` 扩展方法,便于集成到依赖注入容器中。 + +## 安装 + +你可以通过 NuGet 安装 `Longbow.SerialPorts`: + +```bash +dotnet add package Longbow.SerialPorts +``` + +## 使用示例 + +### 注册服务 + +如果你使用的是依赖注入容器,可以通过以下方式注册串口服务: + +```csharp +services.AddSerialPortService(); +``` + +### 打开串口 + +```csharp +var provider = serviceProvider.GetService(); +await provider.OpenAsync(new SerialPortOptions +{ + PortName = "COM1", + BaudRate = 9600 +}); +``` + +### 发送数据 + +```csharp +await provider.SendAsync(Encoding.UTF8.GetBytes("Hello Serial Port")); +``` + +### 接收数据 + +```csharp +var data = await provider.ReceiveAsync(); +Console.WriteLine(Encoding.UTF8.GetString(data.ToArray())); +``` + +### 关闭串口 + +```csharp +await provider.CloseAsync(); +``` + +## 配置选项 + +`SerialPortOptions` 类提供了丰富的串口配置选项,包括: + +- `PortName`: 串口名称(如 COM1) +- `BaudRate`: 波特率 +- `DataBits`: 数据位 +- `Parity`: 校验位 +- `StopBits`: 停止位 +- `Handshake`: 流控制协议 +- `ReadBufferSize` / `WriteBufferSize`: 读写缓冲区大小 +- `ReadTimeout` / `WriteTimeout`: 读写超时时间 + +## 贡献 + +欢迎贡献代码和反馈意见!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 获取更多信息。 + +## 许可证 + +本项目遵循 MIT 许可证。详情请参阅 [LICENSE](LICENSE) 文件。 \ No newline at end of file -- Gitee