1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/GodSharp-GodSharp.SerialPort

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

GodSharp.SerialPort

Простой в использовании класс .NET SerialPort.

AppVeyor build status NuGet MyGet

Требования

.NET Framework >= 3.5

Начало работы

  1. Создайте новый экземпляр GodSerialPort:
GodSerialPort serial = new GodSerialPort("COM1", 9600,0);
  1. Используйте событие DataReceived с действием для обработки полученных данных: Action<byte[]>. Примечание: Это не требуется, если вы читаете данные методом read.
serial.UseDataReceived(true,(sp,bytes)=>{});
  1. Откройте объект SerialPort:
serial.Open();
  1. Запишите или отправьте данные:
byte[] bytes = new byte[]{31,32,33,34};
serial.Write(bytes);
serial.Write(bytes,offset:1,count:2);
serial.WriteHexString("7E 48 53 44");
serial.WriteAsciiString("ascii string");
  1. Прочитайте данные:
byte[] bytes = serial.Read();
string stringAsciiOrHex = serial.ReadString();

Пример

class Program
{
    static void Main(string[] args)
    {
        Console.Write("input serialport number(only 0-9):");
        string read = Console.ReadLine();
        bool flag = uint.TryParse(read, out uint num);
        if (!flag)
        {
            Exit();
        }

        GodSerialPort gsp = new GodSerialPort("COM"+num, 9600,0);
        gsp.UseDataReceived(true,(sp,bytes) => {
             string buffer = string.Join(" ", bytes);
             Console.WriteLine("receive data:" + buffer);
        });
        flag = gsp.Open();

        if (!flag)
        {
            Exit();
        }

        Console.WriteLine("serialport opend");

        Console.WriteLine("press any thing as data to send,press key 'q' to quit.");

        string data = null;
        while (data == null || data.ToLower()!="q")
        {
            if (!string.IsNullOrEmpty(data))
            {
                Console.WriteLine("send data:"+data);
                gsp.WriteAsciiString(data);
            }
            data = Console.ReadLine();
        }
    }

    static void Exit()
    {
        Console.WriteLine("press any key to quit.");
        Console.ReadKey();
        Environment.Exit(0);
    }
}

Примечания

1.2.0

    1. Поддержка .NET Core 2.0.

1.1.2

    1. Добавить GodSerialPort в действие события в качестве параметра подписи для инициализации списка.

1.1.1

    1. Добавить конструктор и изменить подпись конструктора.
    1. Добавить класс PortUtil.

1.1.0

    1. Добавить метод UseDataReceived для запуска события DataReceived.
    1. Метод чтения можно использовать для завершения символа.
    1. Добавить время ожидания при попытке чтения данных.

1.0.1

    1. Исправить ctor и комментарии.

1.0.0

    1. Первая версия выпуска.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой в использовании класс .NET SerialPort. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/GodSharp-GodSharp.SerialPort.git
git@api.gitlife.ru:oschina-mirror/GodSharp-GodSharp.SerialPort.git
oschina-mirror
GodSharp-GodSharp.SerialPort
GodSharp-GodSharp.SerialPort
master