由于马上可能要用到这方面的代码,先帖出来学习一下.
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
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。