SerialPortRx 3.0.3
dotnet add package SerialPortRx --version 3.0.3
NuGet\Install-Package SerialPortRx -Version 3.0.3
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用 NuGet 模块的Install-Package版本。
<PackageReference Include="SerialPortRx" Version="3.0.3" />
对于支持包引用的项目,将此 XML 节点复制到项目文件中,以引用此包。
paket add SerialPortRx --version 3.0.3
NuGet 团队不为此客户端提供支持。请联系其维护人员以寻求支持。
#r "nuget: SerialPortRx, 3.0.3"
#r 指令可用于 F# Interactive 和 Polyglot Notebooks。将此代码复制到交互工具或脚本的源代码中,以引用该包。
// Install SerialPortRx as a Cake Addin #addin nuget:?package=SerialPortRx&version=3.0.3 // Install SerialPortRx as a Cake Tool #tool nuget:?package=SerialPortRx&version=3.0.3
NuGet 团队不为此客户端提供支持。请联系其维护人员以寻求支持。
SerialPortRx
一个反应式串口库 此串口配置为提供数据流 Read 和接受数据流 Write 请求
SerialPortRx 的使用示例
using System;
using System.Linq;
using System.Reactive.Disposables;
using System.Reactive.Linq;
using ReactiveMarbles.Extensions;
namespace CP.IO.Ports.Test;
internal static class Program
{
private static void Main(string[] args)
{
const string comPortName = "COM1";
// configure the data to write, this can be a string, a byte array, or a char array
const string dataToWrite = "DataToWrite";
var dis = new CompositeDisposable();
// Setup the start of message and end of message
var startChar = 0x21.AsObservable();
var endChar = 0x0a.AsObservable();
// Create a disposable for each COM port to allow automatic disposal upon loss of COM port
var comdis = new CompositeDisposable();
// Subscribe to com ports available
SerialPortRx.PortNames().Do(x =>
{
if (comdis?.Count == 0 && x.Contains(comPortName))
{
// Create a port
var port = new SerialPortRx(comPortName, 9600);
port.DisposeWith(comdis);
// Subscribe to Exceptions from port
port.ErrorReceived.Subscribe(Console.WriteLine).DisposeWith(comdis);
port.IsOpenObservable.Subscribe(x => Console.WriteLine($"Port {comPortName} is {(x ? "Open" : "Closed")}")).DisposeWith(comdis);
// Subscribe to the Data Received
port.DataReceived.BufferUntil(startChar, endChar, 100).Subscribe(data => Console.WriteLine(data)).DisposeWith(comdis);
// Subscribe to the Is Open @500ms intervals and write to com port
port.WhileIsOpen(TimeSpan.FromMilliseconds(500)).Subscribe(_ => port.Write(dataToWrite)).DisposeWith(comdis);
// Open the Com Port after subscriptions created
port.Open();
}
else
{
comdis?.Dispose();
Console.WriteLine($"Port {comPortName} Disposed");
comdis = [];
}
}).ForEach().Subscribe(name =>
{
// Show available ports
Console.WriteLine(name);
}).DisposeWith(dis);
Console.ReadLine();
// Cleanup ports
comdis.Dispose();
dis.Dispose();
}
}
产品 | 版本 兼容的附加计算的目标框架版本。 |
---|---|
.NET | |
.NET Core | |
.NET Standard | |
.NET Framework | net461 已计算。 net462 已计算。 net463 已计算。 net47 已计算。 net471 已计算。 net472 已计算。 net48 已计算。 net481 已计算。 |
MonoAndroid | monoandroid 已计算。 |
MonoMac | monomac 已计算。 |
MonoTouch | monotouch 已计算。 |
Tizen | tizen40 已计算。 tizen60 已计算。 |
Xamarin.iOS | xamarinios 已计算。 |
Xamarin.Mac | xamarinmac 已计算。 |
Xamarin.TVOS | xamarintvos 已计算。 |
Xamarin.WatchOS | xamarinwatchos 已计算。 |
-
.NETStandard 2.0
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
-
net6.0
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
-
net6.0 Windows10.0.19041
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
-
net7.0
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
-
net7.0 Windows10.0.19041
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
-
net8.0
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
-
net8.0 Windows10.0.19041
- ReactiveMarbles.Extensions (>= 1.1.8)
- System.IO.Ports (>= 8.0.0)
NuGet包 (2)
显示依赖于SerialPortRx的前2个NuGet包
包 | 下载 |
---|---|
ModbusRx
NModbus4的Reactive版本 |
|
MQTTnet.Rx.SerialPort
MQTTnet代理的Reactive扩展 |
GitHub仓库
此包不被任何受欢迎的GitHub仓库使用。
版本 | 下载 | 最后更新 |
---|---|---|
3.0.3 | 753 | 11/24/2023 |
3.0.2 | 81 | 11/11/2023 |
2.3.4 | 771 | 2/18/2023 |
2.3.2 | 328 | 1/10/2023 |
2.3.1 | 278 | 1/10/2023 |
2.2.6 | 6,317 | 7/22/2022 |
2.1.4 | 412 | 7/21/2022 |
2.1.3 | 406 | 7/21/2022 |
2.1.2 | 412 | 7/20/2022 |
2.1.1 | 656 | 12/13/2021 |
1.4.4 | 705 | 5/1/2021 |
1.4.3 | 854 | 2/24/2020 |
1.4.2 | 602 | 1/19/2020 |
1.4.1 | 565 | 12/29/2019 |
1.4.0 | 584 | 12/29/2019 |
1.3.1 | 970 | 1/8/2019 |
1.3.0 | 855 | 10/17/2018 |
1.2.0 | 816 | 9/19/2018 |
1.1.0 | 918 | 8/15/2018 |
1.0.1 | 1,026 | 6/27/2018 |
1.0.0 | 1,011 | 5/28/2018 |
0.0.0.5 | 1,017 | 2/15/2018 |
0.0.0.4 | 1,174 | 9/29/2016 |
0.0.0.3 | 953 | 9/27/2016 |
0.0.0.2 | 923 | 9/26/2016 |
0.0.0.1 | 906 | 9/25/2016 |
与Net 6/ 7/ 8 和 netstandard2.0 的兼容性