找传奇、传世资源到传世资源站!

c#串口通信实例(发送/接收消息)

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

本教程基于 win10 x64 位操作系统,软件环境为 Microsoft VisualStudio Community 2015(以下简称 VS)
from clipboard namespace SerialPort02
{
    public partial class Form1 : Form
    {
        SerialPort SpCom = new SerialPort();
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void 清除发送_Click(object sender, EventArgs e)
        {
            txtSend.Text = string.Empty;
        }

        private void Textbox_Load(object sender, EventArgs e)
        {
            SpCom.DataReceived = SpCom_DataReceived;
        }

        private void SpCom_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            int length = SpCom.BytesToRead;
            byte[] recData = new byte[length];
            SpCom.Read(recData, 0, length);
            string recText = Encoding.GetEncoding("GB2312").GetString(recData);
            //更新接收区
            txtReceive.Invoke(new EventHandler(delegate
            {
                txtReceive.AppendText(recText);
            }));
        }

        private void btnClearRec_Click(object sender, EventArgs e)
        {
            txtReceive.Text = string.Empty;
        }

        private void btnOpenPort_Click(object sender, EventArgs e)
        {
            if (SpCom.IsOpen)
            {
                SpCom.Close();
                btnOpenPort.Text = "打开串口";
            }
            else
            {
                InitPort();
                try
                {
                    SpCom.Open();
                    btnOpenPort.Text = "关闭串口";
                    MessageBox.Show("串口初始化成功!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
        }

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复