zoukankan      html  css  js  c++  java
  • 串行端口开发的数据交互方式

    • 引用程序集

         using System.IO.Ports; 

    • 字段定义
    //实例化串口类对象
    private SerialPort comm = new SerialPort();
    //实例化String类型的临时变量
    private StringBuilder builder = new StringBuilder();
    //接收数据
    string strData = null;
    • 定义串口对象并设置参数
     private void CreateSerialPortService()
            {
                comm.NewLine = " ";
                comm.RtsEnable = true;
                comm.DtrEnable = true;
                comm.PortName = "PortName";     //端口名,例如COM3
                comm.BaudRate = "BaudRate";     //波特率,例如9600
                comm.DataBits = "DataBits";     //数据位,例如8
                comm.StopBits = StopBits.One;     //停止位,例如StopBits。One(1位停止位)
                comm.Parity = Parity.None;     //奇偶校验,例如Parity。None(无奇偶校验)
                //添加事件注册
                comm.DataReceived += comm_DataReceived;          //接收串口数据触发事件
            }
    • 接收数据事件
    void comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
            {
                //先记录下来,避免某种原因,人为的原因,操作几次之间时间长,缓存不一致
                int n = comm.BytesToRead;  
                byte[] buf = new byte[n];   //声明一个临时数组存储当前来的串口数据
                comm.Read(buf, 0, n);       //读取缓冲数据
                builder = new StringBuilder(); //清除字符串构造器的内容
                //直接按ASCII规则转换成字符串
                builder.Append(Encoding.ASCII.GetString(buf));
                //追加的形式添加到文本框末端,并滚动到最后。
                strData = builder.ToString();
    }
    • 启动与关闭
     private void OpenOrCloseSerialPort()
            {
                //根据当前串口对象,来判断操作
                if (comm.IsOpen)
                {
                    //打开时点击,则关闭串口
                    comm.Close();
                }
                else
                {
                     //关闭时点击,则打开串口
                    comm.Open();
                }
            }
    • 串口发送数据
     private void Send(string text)
            {
                 comm.Write(text);
            }
  • 相关阅读:
    初学HTML_3
    初学HTML_2
    初学HTML_1
    VScode中的Java配置
    JAVA中访问控制和继承的规则
    Java中的变量
    minishift 部署postgresql
    sydnsis 把数据库做成api
    sydnsis接口 数据库到mq
    sydnsis 推送和消费amq消息
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3229256.html
Copyright © 2011-2022 走看看