【C#】串口编程

1、添加using System.IO.Ports;命名空间,因为调用串口需要使用SerialPort类,这个类在此命名空间内。
2、我在添加的时候,发现SerialPort类识别不出来,后来搜索到的原因是没有安装一个NuGet包,于是就需要安装此包。安装方式如下:
在这里插入图片描述

在程序包管理控制台中,粘贴:Install-Package Microsoft.Windows.Compatibility -Version 5.0.2
在这里插入图片描述
等待安装完成。
在这里插入图片描述
3、编写测试代码。

// Use this code inside a project created with the Visual C# > Windows Desktop > Console Application template.
// Replace the code in Program.cs with this code.

using System;
using System.IO.Ports;
using System.Threading;
public class PortChat
{
    static bool _continue;
    static SerialPort _serialPort;
    public static void Main()
    {
        string name;
        string message;
        Thread readThread = new Thread(Read);

        // Create a new SerialPort object with default settings.
        _serialPort = new SerialPort();

        // Allow the user to set the appropriate properties.
        _serialPort.PortName = "COM2";
        _serialPort.BaudRate = 115200;
        _serialPort.Parity = Parity.None;
        _serialPort.DataBits = 8;
        _serialPort.StopBits = StopBits.One;
        _serialPort.Handshake = Handshake.None;

        // Set the read/write timeouts
        _serialPort.ReadTimeout = 500;
        _serialPort.WriteTimeout = 500;

        _serialPort.Open();
        _continue = true;
        readThread.Start();

        Console.Write("Name: ");
        name = Console.ReadLine();

        Console.WriteLine("Type QUIT to exit");

        while (_continue)
        {
            message = Console.ReadLine();

            if (message.ToLower() == "quit")
            {
                _continue = false;
            }
            else
            {
                _serialPort.WriteLine(
                    String.Format("<{0}>: {1}", name, message));
            }
        }

        readThread.Join();//阻塞调用,直到main线程退出
        _serialPort.Close();
    }

    public static void Read()
    {
        while (_continue)
        {
            try
            {
                string message = _serialPort.ReadLine();
                Console.WriteLine(message);
            }
            catch (TimeoutException) { }
        }
    }
}

4、测试使用的是虚拟串口,使用UDP虚拟出一个串口2,测试结果如下。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是计算机科学中的一种常见的编程语言。它是由贝尔实验室的丹尼斯·里奇和肯·汤普逊在20世纪70年代初开发的。C语言具有高效简洁、功能强大和广泛适用的特点,因此成为了广泛应用于系统级编程和应用软件开发领域的重要工具。 C语言的语法和结构相对简单,易于学习和理解。它提供了丰富的基本数据类型和运算符,并支持多种流程控制结构,使得程序员能够方便地实现各种功能和算法。此外,C语言还具有良好的可移植性,同一套C代码可以在不同计算机平台上编译和运行。 C语言的广泛应用是由其编译型的特点决定的。通过将C代码编译为机器语言,可以获得高效的执行性能。因此,C语言可以用于开发各种系统级软件,比如操作系统、编译器以及嵌入式系统等。同时,许多应用软件也是用C语言开发的,如数据库管理系统、网络服务器和图形界面应用等。 在现代计算机科学中,C语言仍然占据着重要地位。许多编程语言如C++、Java和Python都是由C语言发展而来的,因此熟悉C语言可以为学习其他语言奠定良好的基础。此外,C语言也有很多相关的工具和库,为程序员提供了丰富的资源和支持。 总之,C语言是一种功能强大、高效简洁且广泛适用的编程语言,它在计算机科学领域具有重要作用,并为开发各种应用软件提供了有力的工具和框架。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值