首页  ·  知识 ·  编程语言
NET最简单的串口通信代码
leezjs  http://www.jinsongzhang.com  .NET  编辑:dezai  图片来源:网络
由于马上可能要用到这方面的代码,先帖出来学习一下. "FONT-SIZE: 11px; COLOR: black; FONT-FAMILY

由于马上可能要用到这方面的代码,先帖出来学习一下.

using System.IO;
using System.IO.Ports;
using System.Text;

class
Program
{
  static SerialPort ComPort;
  static ASCIIEncoding ASCIIEncoder = new ASCIIEncoding();

  public static void OnSerialDataReceived(
  object sender, SerialDataReceivedEventArgs args)
{
      string data = ComPort.ReadExisting();
Console.Write(data.Replace(“\r”, “\n”));
}

  static void Main(string[] args)
{
      string port = “COM1″;
      int baud = 9600;
      if (args.Length >= 1)
{
port = args[0];
}
      if (args.Length >= 2)
{
baud = int.Parse(args[1]);
}

InitializeComPort(port, baud);

      string text;
      do
      {
          text = Console.ReadLine();
          ComPort.Write(text + ‘\r’);
      }
      while (text.ToLower() != “q”);
}

  private static void InitializeComPort(string port, int baud)
{
ComPort = new SerialPort(port, baud);
      // ComPort.PortName = port;
      // ComPort.BaudRate = baud;
      ComPort.Parity = Parity.None;
      ComPort.StopBits = StopBits.One;
      ComPort.DataBits = 8;
      ComPort.Handshake = Handshake.None;
      ComPort.DataReceived += OnSerialDataReceived;
      ComPort.Open();
}
}

I agree, replacing ‘\r’ with ‘\n’ is a primitive way to deal with line feed issues especially considering there is a SerialPort.NewLine property.

本文作者:leezjs 来源:http://www.jinsongzhang.com
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读