1,新建一个port SerialPort port= new SerialPort("COM3", 9600);设置一个编码格式,再打开,就可以进行就接收数据了。
private void button1_Click(object sender, EventArgs e)
{
if (port == null)
{
port = new SerialPort("COM3", 9600);
port.Encoding = Encoding.ASCII;
port.Open();
}
if (port.IsOpen == false)
{
textBox1.Text = "";
port.Open();
}
timer1.Interval = 400;
timer1.Start();
}
2,定义一个port.BytesToRead,判断读取的个数,然后定义一个缓冲数组,然后port.read(buf,0,n);写到buf里面,然后转换为string后,就可以显示到界面上
private void timer1_Tick(object sender, EventArgs e)
{
try
{
int n = port.BytesToRead;
byte[] buf = new byte[n];
if (port.Read(buf, 0, n) != 0)
{
String readstr = Encoding.UTF8.GetString(buf);
string[] sts = readstr.Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
this.textBox1.AppendText(readstr);
}
}
catch (Exception )
{
}
}
3,保存到文件里面
SaveFileDialog file = new SaveFileDialog();//定义新的文件保存位置控件
file.Filter = "文本文件|*.txt";//设置文件后缀的过滤
if (file.ShowDialog() == DialogResult.OK)//如果有文件保存路径
{
StreamWriter sw = File.AppendText(file.FileName);//在目标文件原有内容后面追加内容
sw.Write(textBox1.Text);
sw.Flush();//清除缓冲区
sw.Close();//关闭文件
}