Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

godsharp/GodSharp.SerialPort

Repository files navigation

GodSharp.SerialPort

An easy-to-use .NET SerialPort class.

AppVeyor build status NuGet MyGet

Requirement

.NET Framework >= 3.5

Getting Started

  1. New instance GodSerialPort.
GodSerialPort serial = new GodSerialPort("COM1", 9600,0);
  1. Use DataReceived event with received data action: Action<byte[]>.

Notice:This is not need when you read data by read method.

serial.UseDataReceived(true,(sp,bytes)=>{});
  1. Open SerialPort object.
serial.Open();
  1. Write/Send data.
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. Read data.
byte[] bytes = serial.Read();
string stringAsciiOrHex = serial.ReadString();

Sample

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);
 }
}

Notes

1.2.0

  • 1.support .NET Core 2.0.

1.1.2

  • 1.Add GodSerialPort to event action as signature param for initial a list.

1.1.1

  • 1.Add constructor and change the constructor signature.
  • 2.Add PortUtil class.

1.1.0

  • 1.Add UseDataReceived method use to trigger DataReceived event.
  • 2.The read metnod can be used to end character.
  • 3.Add sleep time when try read data.

1.0.1

  • 1.Fix ctor and comments.

1.0.0

  • 1.The first version release.

About

An easy-to-use .NET SerialPort class.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

AltStyle によって変換されたページ (->オリジナル) /