VS 2019는 C # 언어를 사용하여 .Net Framework 4.5 프레임 워크에서 간단한 직렬 포트 전송 데이터 소프트웨어를 개발합니다.

0. 서문

사전 프로젝트 : VS 2019는 C # 언어를 사용하여 .Net Framework 4.5 프레임 워크에서 간단한 카운트 다운 타이머를 개발합니다.

1. 프로젝트 실현

1.1 Form1.cs [Design] 파일 구성

Form1.cs [Design]에 다음 컨트롤을 넣고 해당 속성 상자에서 속성을 설정합니다.
여기에 사진 설명 삽입
구성 요소 serialPort를 드래그합니다.
여기에 사진 설명 삽입
serialPort 속성 표시 줄에서 전송 속도, 직렬 포트 번호 및 기타 속성을 설정할 수 있습니다. 이 프로그램에서 사용되는 전송 속도는 4800이고 직렬 포트 번호는 COM4입니다.
여기에 사진 설명 삽입

1.2 Form1.cs 파일 구성

Form1.cs의 코드는 다음과 같습니다.

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. 데이터 소프트웨어 미리보기를 보내는 간단한 직렬 포트

여기에 사진 설명 삽입

3. 테스트

VSPD 및 SSCOM으로 테스트 할 수 있습니다.

3.1 가상 직렬 포트 쌍 구성

VSPD를 열고 COM3 및 COM4의 직렬 포트 쌍을 구성한 다음 쌍 추가를 클릭합니다.
여기에 사진 설명 삽입
가상 직렬 포트 쌍 (COM3 및 COM4)을 가져옵니다.
여기에 사진 설명 삽입
장치 관리자에서 가상 직렬 포트 쌍을 볼 수도 있습니다.
여기에 사진 설명 삽입

3.2 SSCOM 구성

SSCOM을 엽니 다.

  • 데이터 소프트웨어를 보내는 직렬 포트에 구성된 전송 속도가 4800이므로 SSCOM의 전송 속도도 4800으로 구성해야합니다.
  • 시리얼 포트 전송 데이터 소프트웨어에서 설정 한 시리얼 포트 번호는 COM4이므로 SSCOM에서 COM3을 선택합니다.
    여기에 사진 설명 삽입

3.3 테스트 시작

SSCOM에서 직렬 포트를 열려면 클릭합니다.
여기에 사진 설명 삽입
데이터 소프트웨어를 보내는 직렬 포트에서 데이터를 선택하고 보내기를 클릭합니다.
여기에 사진 설명 삽입
그러면 SSCOM이 결과를받을 수 있습니다.

여기에 사진 설명 삽입

추천

출처blog.csdn.net/mahoon411/article/details/109345356