VS 2019 utiliza el lenguaje C # para desarrollar un software de envío de datos de puerto serie simple en el marco .Net Framework 4.5

0. Prefacio

El anteproyecto es: VS 2019 usa el lenguaje C # para desarrollar un temporizador de cuenta regresiva simple en el marco .Net Framework 4.5

1. Realización del proyecto

1.1 Configurar el archivo Form1.cs [Diseño]

Coloque los siguientes controles en Form1.cs [Diseño] y establezca las propiedades en el cuadro de propiedades correspondiente.
Inserte la descripción de la imagen aquí
Arrastre el componente serialPort.
Inserte la descripción de la imagen aquí
En la barra de propiedades serialPort, puede configurar la velocidad en baudios, el número de puerto serial y otras propiedades. La velocidad en baudios utilizada en este programa es 4800 y el número de puerto serie es COM4.
Inserte la descripción de la imagen aquí

1.2 Configurar el archivo Form1.cs

El código de Form1.cs es el siguiente

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;

namespace SerialTest
{
    
    
    public partial class Form1 : Form
    {
    
    
        public Form1()
        {
    
    
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)//窗口创建初始化函数
        {
    
    
            string str;//用来临时存储i大写的十六进制格式字符串
            for (int i = 0; i < 256; i++)//256个
            {
    
    
                str = i.ToString("x").ToUpper();//ToString("x")是将数字转转换为16进制字符串,ToUpper是将字符串所有字符大写
                if (str.Length == 1)
                    str = "0" + str;//如果是一位的(0xA),此时为了对齐,在数据前加一个字符“0”(0x0A)
                comboBox1.Items.Add("0x"+ str);//统一添加"0x"
            }
            comboBox1.Text = "0X00";//初始值
        }

        private void button1_Click(object sender, EventArgs e)//按键单击事件
        {
    
    
            string data = comboBox1.Text;//存储当前下拉框的内容
            string convertdata = data.Substring(2, 2);//把字符分开
            byte[] buffer = new byte[1];//数据一个字节就够用了
            buffer[0] = Convert.ToByte(convertdata, 16);//将字符串转化为byte型变量(byte相当于单片机中的unsigned char(0-255))
            try//防止出错
            {
    
    
                serialPort1.Open();
                serialPort1.Write(buffer, 0, 1); //第一个参数是待写入的缓存数组,第二个参数是offset,即偏移量,即从第0位开始写,第三个参数是从0开始往后写1位
                serialPort1.Close();
            }
            catch {
    
    //如果出错就执行此块代码
                if (serialPort1.IsOpen)
                    serialPort1.Close();//如果是写数据时出错,此时窗口状态为开,就应关闭串口,防止下次不能使用,串口是不能重复打开和关闭的
                MessageBox.Show("端口错误","错误");
            }
        }
    }
}

2. Puerto serie simple para enviar una vista previa del software de datos

Inserte la descripción de la imagen aquí

3. Prueba

Se puede probar con VSPD y SSCOM.

3.1 Configurar par de puertos serie virtuales

Abra VSPD, configure un par de puertos serie de COM3 y COM4, ​​y luego haga clic en Agregar par.
Inserte la descripción de la imagen aquí
Obtenga un par de puertos serie virtual: COM3 y COM4.
Inserte la descripción de la imagen aquí
También puede ver el par de puertos serie virtual en el administrador de dispositivos.
Inserte la descripción de la imagen aquí

3.2 Configurar SSCOM

Abra SSCOM.

  • Debido a que la velocidad en baudios configurada en el software de envío de datos del puerto serie es 4800, la velocidad en baudios en SSCOM también debe configurarse como 4800.
  • Debido a que el número de puerto serie configurado en el software de envío de datos del puerto serie es COM4, ​​se selecciona COM3 en SSCOM.
    Inserte la descripción de la imagen aquí

3.3 Iniciar prueba

Haga clic para abrir el puerto serie en SSCOM.
Inserte la descripción de la imagen aquí
Seleccione un dato en el software de envío de datos del puerto serie y haga clic en enviar.
Inserte la descripción de la imagen aquí
Entonces SSCOM puede recibir el resultado.

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/mahoon411/article/details/109345356
Recomendado
Clasificación