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                
#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                

SerialPortRx

一个反应式串口库 此串口配置为提供数据流 Read 和接受数据流 Write 请求

SerialPortRx CI-Build Nuget Nuget

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 已计算。
兼容目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

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 的兼容性