常州上位机培训

常州机器视觉培训

常州机器人培训

江苏和讯自动化设备有限公司欢迎您!
  • 和讯PLC,电工培训中心优势,名师团队一对一教学.
热门课程
联系方式
  • 常州和讯自动化培训中心
  • 常州市新北区太湖东路府琛大厦2号楼307-1室,307-2室(常州万达广场对面)
  • 电话:0519-85602926
  • 手机:15861139266 13401342299
当前位置:网站首页 > 新闻中心 新闻中心
C#上位机系列教程零基础入门-串口收发,常州上位机学习,常州机器视觉学习,常州PLC学习
日期:2023-12-8 9:07:10人气:  标签:常州上位机学习 常州机器视觉学习 常州PLC学习

C#上位机系列教程零基础入门-串口收发

欢迎来到C#上位机教程的零基础入门!本教程将帮助你从零开始学习C#编程,并使用C#构建上位机应用程序,本教程将以经典的串口工具开发为Demo,讲述一个项目如何去实现,本节内容将讲述串口的收发


1、首先介绍在SerialPort 类中,串口数据发送的几个方法


public void Write(byte[] buffer,int offset,int count);

public void Write(string text);

public void Write(char[] buffer, int offset,int count);

public void WriteLine(string text);

2、串口数据的接收方法


public int Read(byte[] buffer, int offset, int count);

public int Read(char[] buffer, int offset, int count);

public int ReadByte();

public string ReadExisting();

public string ReadLine();

public string ReadTo(string value);

public event SerialDataReceivedEventHandler DataReceived;

以上方法可以在SerialPort 类中找到,并可以尝试使用,并加强理解


3、本节主要实现的目标是实现串口工具数据的发送和接收件,具体功能下图:

1.png

配置好虚拟串口后分别打开两个串口工具实例,并各自打开COM2,和COM3,当在实例1的发送区中填入内容后点击手动发送,实例2的接收区能够接收到实例1发送的内容,当在实例2的发送区中填入内容点击手动发送,实例1的接收区能够接收实例2发送的内容。具体实现代码如下:


当实例1发送区的"手动发送"按钮产生一个"Click"事件时将调用以下代码:


   private void send_btn_Click(object sender, EventArgs e)

        {

            // 如果发送的数据不为空且串口已经打开,则发送

            if (this.send_rtb.Text != "" && serialPort1.IsOpen)

            {

                //this.recive_rtb.AppendText(this.send_rtb.Text);

                serialPort1.Write(send_rtb.Text);

            }

            else

            {

                MessageBox.Show("请先输入发送数据!");


            }

        }

如果发送区的内容不为空且串口已经打开,则调用实例serialPort1的Write方法将指定的字符串写入串行端口。


串口数据的接收我们需要先定义一个serialPort1对象的DataReceived事件


具体操作如下:

2.png

单击seralPort1对象DataReceived事件中定serialPort1_DataReceived方法,代码如下:


   private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)

        {

            string dataRecive = serialPort1.ReadExisting();

            recive_rtb.AppendText(dataRecive);

        }


SerialPort.ReadExisting 方法会读取 SerialPort 对象的流和输入缓冲区中所有立即可用的字节,并返回string类型的数据。接收区对象通过AppendText方法添加返回的String并在接收区的文本框显示。当 SerialPort 对象表示的端口接收了数据后会触发DataReceived事件,同时会调用serialPort1_DataReceived方法。

本文网址:

相关信息:
版权所有 CopyRight 2006-2017 江苏和讯自动化设备有限公司 电话:0519-85602926 地址:常州市新北区太湖东路府琛大厦2号楼307-1室,307-2室
ICP备14016686号-2 技术支持:常州鹤翔网络
本站关键词:常州电工培训 常州电工证 常州变频器培训 常州触摸屏培训 网站地图 网站标签
在线与我们取得联系