广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#串口编程System.IO.Ports.SerialPort类
  • 844
分享到

C#串口编程System.IO.Ports.SerialPort类

2024-04-02 19:04:59 844人浏览 泡泡鱼
摘要

从Microsoft .net 2.0版本以后,就默认提供了System.io.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序。 1. 串

从Microsoft .net 2.0版本以后,就默认提供了System.io.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序。

1. 串口硬件信号定义

DB9 Connector 信号定义。串口测试将2、3针脚短接即可。

image

2、串口端口号搜索

string[] portList = System.IO.Ports.SerialPort.GetPortNames();
for (int i = 0; i < portList.Length; i++)
{
    string name = portList[i];
    comboBox.Items.Add(name);
}

还有一种通过调用api的方法来获取实现,可以获取详细的完整串口名称,对于USB-to-COM虚拟串口来说特别适用。

3、串口属性参数设置

SerialPort mySerialPort = new SerialPort("COM2");//端口
mySerialPort.BaudRate = 9600;//波特率
mySerialPort.Parity = Parity.None;//校验位
mySerialPort.StopBits = StopBits.One;//停止位
mySerialPort.DataBits = 8;//数据位
mySerialPort.Handshake = Handshake.Non;
mySerialPort.ReadTimeout = 1500;
mySerialPort.DtrEnable = true;//启用数据终端就绪信息
mySerialPort.Encoding = Encoding.UTF8;
mySerialPort.ReceivedBytesThreshold = 1;//DataReceived触发前内部输入缓冲器的字节数
mySerialPort.DataReceived += new SerialDataReceivedEvenHandler(DataReceive_Method);

mySerialPort.Open();

4、串口发送信息

  • Write(Byte[], Int32, Int32) :将指定数量的字节写入串行端口
  • Write(Char[], Int32, Int32) :将指定数量的字符写入串行端口
  • Write(String) :将指定的字符串写入串行端口
  • WriteLine(String) :将指定的字符串和NewLine值写入输出缓冲区
// Write a string
port.Write("Hello World");

// Write a set of bytes
port.Write(new byte[] { 0x0A, 0xE2, 0xFF }, 0, 3);

// Close the port
port.Close();

5. 串口接收信息

  • Read(Byte[], Int32, Int32):从SerialPort输入缓冲区读取一些字节,并将那些字节写入字节数组中指定的偏移量处
  • ReadByte():从SerialPort输入缓冲区中同步读取一个字节
  • ReadChar(): 从SerialPort输入缓冲区中同步读取一个字符
  • ReadExisting() :在编码的基础上,读取SerialPort对象的流和输入缓冲区中所有立即可用的字节
  • ReadLine() :一直读取到输入缓冲区中的NewLine值
  • ReadTo(String) :一直读取到输入缓冲区中的指定value的字符串
string serialReadString;
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    serialReadString = port.ReadExisting());
    this.txt1.Invoke( new MethodInvoker(delegate { this.txt1.AppendText(serialReadString); }));
}

6、循环接收数据

void com_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    // Use either the binary OR the string technique (but not both)
    // Buffer and process binary data
    while (com.BytesToRead > 0)
        bBuffer.Add((byte)com.ReadByte());
    ProcessBuffer(bBuffer);

    // Buffer string data
    sBuffer += com.ReadExisting();
    ProcessBuffer(sBuffer);
}

private void ProcessBuffer(string sBuffer)
{
    // Look in the string for useful infORMation
    // then remove the useful data from the buffer
}

private void ProcessBuffer(List<byte> bBuffer)
{
    // Look in the byte array for useful information
    // then remove the useful data from the buffer
}

到此这篇关于C#串口编程System.IO.Ports.SerialPort类的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#串口编程System.IO.Ports.SerialPort类

本文链接: https://www.lsjlt.com/news/150817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#串口编程System.IO.Ports.SerialPort类
    从Microsoft .Net 2.0版本以后,就默认提供了System.IO.Ports.SerialPort类,用户可以非常简单地编写少量代码就完成串口的信息收发程序。 1. 串...
    99+
    2022-11-13
  • C#串口通信工具类的封装
    本文实例为大家分享了C#串口通信工具类的封装代码,供大家参考,具体内容如下  1、SerialPortHelper串口工具类封装 using System; using S...
    99+
    2022-11-13
  • Python串口编程(转载)
    python的串口网上有很多例子,这里了只是把认为好的整理到一起。 首先,应该安装serial模块,还能开始后续的操作。我用的python2.6,serial模块可以在这里下载安装serial模块下载 1,字符串的发送接收 短接串口的...
    99+
    2023-01-31
    串口 Python
  • Android 串口通信编程及串口协议分析
    Android 串口通信编程:嵌入式编程和可穿戴设备及智能设备都会用到串口,这里就带大家分析下, 一,android串口通信 串口通信采用一个第三方开源项目,实现串口数据收发...
    99+
    2022-06-06
    协议 串口 串口通信 通信 Android
  • windows中Python串口编程(一
    在windows中,使用python进行串口编程需要安装一个Serial模块 pyserial: 下载地址:https://pypi.python.org/pypi/pyserial 下载完成后得到一个xxx.whl文件,下面进...
    99+
    2023-01-31
    串口 windows Python
  • python编写的串口程序
    最近导师给了个GSM模块,需要通过RS232串口发送AT指令来对模块进行控制,于是看了看python的GUI设计和串口部分的资料,自己编写了一个串口发送的小程序,虽然有不少的bug,但是总体上还是能用的,先把程序留在这,以便后续修改。 感...
    99+
    2023-01-31
    串口 程序 python
  • C#基于SerialPort类怎么实现串口通讯
    本篇内容主要讲解“C#基于SerialPort类怎么实现串口通讯”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#基于SerialPort类怎么实现串口通讯”吧!最终效果窗体设置:using&n...
    99+
    2023-06-29
  • C#基于SerialPort类实现串口通讯详解
    本文实例为大家分享了C#基于SerialPort类实现串口通讯的具体代码,供大家参考,具体内容如下 最终效果 窗体设置: using System; using System....
    99+
    2022-11-13
  • C#串口通信工具类的封装方法
    本篇内容介绍了“C#串口通信工具类的封装方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 1、SerialPortHelper串...
    99+
    2023-06-29
  • C#串口接收程序的实现
    1.代码 using System; using System.Collections.Generic; using System.ComponentModel; using Sys...
    99+
    2022-11-13
  • python串口编程整理(更新完)
    python的串口网上有很多例子,这里了只是把认为好的整理到一起。 首先,应该安装serial模块,还能开始后续的操作。我用的python2.6,serial模块可以在这里下载安装serial模块下载 1,字符串的发送接收 短接串口的2...
    99+
    2023-01-31
    串口 python
  • C#接口编程详细降级
    这篇文章主要介绍“C#接口编程详细降级”,在日常操作中,相信很多人在C#接口编程详细降级问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#接口编程详细降级”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!接口...
    99+
    2023-06-17
  • Python 串口编程 AT指令控制短信
    #-*- encoding: gbk -*- import time import sys import os import locale impo...
    99+
    2023-01-31
    串口 指令 短信
  • C#中怎么创建一个串口通信程序
    C#中怎么创建一个串口通信程序,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。创建C#串口通信程序之命名空间System.IO.Ports命名空间中最重用的是Se...
    99+
    2023-06-17
  • C/C++编程怎么判断String字符串是否包含某个字符串
    这篇文章主要介绍“C/C++编程怎么判断String字符串是否包含某个字符串”,在日常操作中,相信很多人在C/C++编程怎么判断String字符串是否包含某个字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-06-25
  • C++编程语言中stringstream类介绍
    stringstream是C++标准库中的一个类,用于处理字符串的输入输出。它是基于内存缓冲区的输入输出流,可以将字符串转换为各种类...
    99+
    2023-09-09
    C++
  • Linux操作系统下串口是设置及编程
    本篇内容主要讲解“Linux操作系统下串口是设置及编程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux操作系统下串口是设置及编程”吧!用户常见的数据通信的基本方式可分为并行通信和串行通信...
    99+
    2023-06-13
  • C语言编程C++旋转字符操作串示例详解
    目录旋转字符串字符串左旋题前认知:暴力移位:三步翻转:判断字符串旋转题前认知字符串追加判断旋转字符串 字符串左旋 实现一个函数,可以左旋字符串中的k个字符。 例如: ABCD左旋一个...
    99+
    2022-11-12
  • C语言编程C++自定义个性化类型
    目录自定义类型结构体声明一个结构体类型特殊声明结构体自引用结构体变量的定义和初始化结构体内存对齐结构体传参位段枚举联合(共用体)联合类型的定义联合类型的声明联合的特点判断当前机器的大...
    99+
    2022-11-12
  • C/C++编程判断String字符串是否包含某个字符串实现示例
    目录一、C语言风格二、C++风格一、C语言风格 在C语言中,字符串存储为字符数组,以'\0'结束。 在C的接口中,有strstr函数,可以在字符串中查找另一个字符串。 char *...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作