• 【实验室笔记】C#上位机学习笔记


    用C#编写上位机,基本流程是【1】串口配置,【2】串口发送数据,【3】串口接收数据。

    【1】串口配置

      串口的属性配置包括:

      No.1串口端口号

      No.2串口波特率

      No.3串口数据位

      No.4串口停止位

      N0.5串口校验位

    串口的上述属性,分别将值存储进combobox里边,然后带用户根据实际情况自己进行选择,设置也比较简单。

    串口的打开和关闭,采用try-catch这对组合,可以自动打开和关闭处理过程中出现的问题。

    【2】串口发送数据

    串口发送数据,采用串口的write属性,该属性有三种重载方式,string,byte,char三种,分别是字符串,字节,字符三种。

     1             if (serialPort1.IsOpen == true)
     2             {
     3                 try
     4                 {
     5                     Byte[] mes = new Byte[3] { 1,2,3};
     6                     char[] chr = new char[3] { 'a','b','c'};
     7                     serialPort1.Write(mes,0,1);
     8                     serialPort1.Write(chr,0,1);
     9                     serialPort1.Write("Hello");
    10                     MessageBox.Show("发送成功");
    11                 }
    12                 catch
    13                 {
    14                     MessageBox.Show("发送失败");
    15                 }
    16             }

    Write的Byte和char函数接口解释为,首先告诉write用的哪一个数组,从数组第几个位开始发数据,发几个数据。
    如此,下位机,讲分别收到1,a,Hello数据。

    【3】串口接收数据

    1 Control.CheckForIllegalCrossThreadCalls = false;
    2 serialPort1.DataReceived += new SerialDataReceivedEventHandler(SP1REV);
    3 serialPort1.ReceivedBytesThreshold = 1;
     1         void SP1REV(object sender, SerialDataReceivedEventArgs e)
     2         {
     3             if (serialPort1.IsOpen == true)
     4             {
     5                 try
     6                 { 
     7                     Byte[] REV = new Byte[serialPort1.BytesToRead];
     8                     serialPort1.Read(REV, 0, REV.Length);
     9                     serialPort1.DiscardInBuffer();
    10                     textBox1.Text += Encoding.ASCII.GetString(REV);
    11                 }
    12                 catch
    13                 {
    14                     MessageBox.Show("接收出错");
    15                 }
    16             }
    17         }
  • 相关阅读:
    线程范围内共享数据
    Swagger+ springfox +Spring mvc
    Nginx代理实现跨域
    实现AJAX跨域访问方式一
    Tomcat 调优及 JVM 参数优化
    REST接口设计规范
    IDEA里面添加lombok插件,编写简略风格Java代码
    intelliJ idea 使用技巧&方法
    IntelliJ IDEA 创建maven项目
    IntelliJ IDEA + Maven创建Java Web项目
  • 原文地址:https://www.cnblogs.com/achao123456/p/5885714.html
Copyright © 2020-2023  润新知