1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
namespace SerialComm
{
public partial class Form1 : Form
{
static SerialPort serialPort1;
public Form1()
{
serialPort1 = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
InitializeComponent();
serialPort1.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
}
private void Form1_Load(object sender, EventArgs e)
{
serialPort1.Open();
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string value = "";
while (serialPort1.BytesToRead > 0)
{
char[] buffer = new char[255];
int bytes_read = serialPort1.Read(buffer, 0, buffer.Length);
for (int i = 0; i < bytes_read; i++)
{
value += buffer[i];
}
}
safeInput(value.ToString());
}
private void safeInput(string msg)
{
textBox1.Invoke(new EventHandler(delegate
{
textBox1.SelectedText = string.Empty;
textBox1.AppendText(msg.ToString());
textBox1.ScrollToCaret();
}));
}
}
} |