首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

C#串口操作类,包括串口读写操作

C#串口操作类,包括串口读写操作 本文转载自博客园:C#串口操作类,包括串口读写操作 串口进行操作的类,其中包括写读操作,类可设置串口参数、设置接收函数、打开串口资源、关闭串口资源,操作完成后,一定要关闭串口...、接收串口数据事件、接收数据出错事件、获取当前全部串口、把字节型转换成十六进制字符串等功能。...这个串口类已经过了调试,可以使用,相关C#代码如下: using System; using System.Collections.Generic; using System.Text; using...Error; //接收事件是否有效 false表示有效 public bool ReceiveEventFlag = false; #region 获取串口名.../// /// 关闭串口资源,操作完成后,一定要关闭串口 /// public void

4.2K20

C# 地磅串口编程

现实生活中,我们会经常遇到一些串口的设备,例如:IC卡、RFID等; 然后最近有一个项目用到了地磅,这里也是通过串口通讯方式进行数据交互,说实话,地磅这东西,实在有点不方便。...然而,串口的编程,不得不说下串口的DCB(Device Control Block)结构,做过串口编程的人应该都知道,而我这里也只是记录下自己学过的东西,高手路过的请勿吐槽。...,这里有个串口通信类可以用: http://www.cnblogs.com/tuyile006/archive/2006/09/25/514327.html 然后在打开串口时,需要设置相关的波特率、数据位与校验位...ASCⅡ起始符.(0 2H) 2.状态字 A、B、C. 3.显示重量,可能是毛重也可能是净重,6位不带符号小数点的数字. 4.皮重值,6位不带字符小数点的数字...只是首次遇到串口编程的问题,想了解相关内容……

2.7K20

C# 串口通讯SerialPort

这里我使用了虚拟串口软件串口调试助手(用来验证串口是否接收到数据) 使用软件: 虚拟串口软件Virtual Serial Port Driver 7.2 友善串口调试助手 Virtual...Serial Port Driver 7.2 这里简单说下虚拟串口软件串口调试助手的简单使用虚拟串口软件生成串口都是成对生成的,例如生成COM2COM3两个串口,当对COM2写入数据时,COM3就会接收到写入的数据...这里可以看到COM2发送消息COM3可接收,COM3发送消息COM2也可以接收到,说明实验环境搭建成功 SerialPort 使用串口最重要的设置就是串口名称PortName串口波特率BaudRate...绑定串口接收到数据的事件DataReceived。...Console.WriteLine("COM2 receive data"+sp.ReadLine()+"\n"); //读取缓冲区中的数据 } } } 运行后结果如图,COM2发送数据接收数据都可成功

7110

C# 多线程 ThreadStartParameterizedThreadStart

如果应用程序涉及到复杂的耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。...Thread 类常用的属性方法 1、属性 属性 描述 CurrentContext 获取线程正在其中执行的当前上下文。 CurrentThread 获取当前正在运行的线程。...public void Join() 在继续执行标准的 COM SendMessage 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。...前者只是 C# 的语法,编译时编译器会自动转换成第二种的形式。ThreadStart 是线程的入口,可以理解为一个函数指针,指向线程将要运行的函数。...线程委托 1、ThreadStart ThreadStart 是多线程的委托,所委托的方法不能有输入参数,返回值为void。

42620

C#实例:串口通讯

最近在研究串口通讯,其中有几个比较重要的概念,RS-232这种适配于上位机PC端进行连接,RS-232只限于PC串口设备间点对点的通信。...它很简单的就可以进行连接,由于串口通讯是异步的,也就是说你可以同时向两端或者更多进行数据发送,它们之间的传输数据类型是byte,串口通信最重要的参数是波特率、数据位、停止位奇偶校验。...听大佬说的几个关于串口通讯的术语,啥?啥,这是啥?   ...第三个奇偶校验:就是想知道你这个数据有多大,多长,因为传输都是1 0 ,具体校验方法如下: 奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数 ---- 1000110...如果想要在C#中玩转串口通讯或者模拟串口,你必须先搞个硬件,当然我们是在模拟,那你就弄个模拟的工具呗,这个我给大家准备好了,自己去下载吧 链接:https://pan.baidu.com/s/1TcdgIWMY0i9BiKVGDxnAzQ

3.2K10

C#中的串口通信

串口属性 ? 1....PortName 串口名    默认值COM1 串口对于操作系统来说是一个文件,如果设置PortName为本机不存在的串口名(即文件名),如“COM7”或“COMK”,Open()打开串口将失败,提示“...Parity 获取或设置奇偶校验检查协议    默认值None 在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高低。当然没有校验位也是可以的。...对于偶奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验 位为0,保证逻辑高的位数是偶数个。...这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输接收 串口(COM)读写操作的三种方式: 第1种方式是采用微软在.NET2.0推出了一个串口控件,SerialPort类

2.6K32

C#多线程

C#多线程简单示例 Thread类构造函数可以传入一个委托,作为线程调用的方法。...主线程通过Thread构造函数创建的线程默认都是前台线程,线程池获取的则默认是后台线程,通过 IsBackground 属性可以设置获取当前线程是前台线程还是后台线程。...如果需要将线程放置到单线程单元中(线程池中的线程均处于多线程单元中)。 如果需要用永久标识来标识控制线程,比如想使用专用线程来中止该线程,将其挂起或按名称发现它。...; 我们主要看下其For方法的使用,类似于C#的for循环语句,也是多次执行一个任务。...C#中使用完全一致,需要注意的是,子线程不能操作和访问Unity的任何对象,需要通过发送消息到主线程来实现控制。

1.4K10

C#串口通信:2自动连接

上次说到了协议的大致结构,这次我们来说说怎么去实现制动连接串口(当你把设备连上来之后,怎么去让软件自动去识别是否为目标设备,当然这需要上位机与下位机共同完成,这里我们只讨论上位机部分) 先上协议: 帧头...具体步骤是: 获取计算机所有串口。 尝试发送指定数据到每个可用串口。 尝试从串口接收数据并检查是否为约定数据,若是则绑定该端口,完成连接。不是则换到下一个。循环。...IsConnected)//未连接 { string[] strPorNnames = SerialPort.GetPortNames();//获取所有可用串口名...foreach (string portName in strPorNnames)//遍历串口 { try...而且拔掉之后(串口断开)软件并不会有任何的状态提示,之后你所有的数据都会往一个不知道的地方去了。所以,我们还要加一个检测断开的机制。

88431

C#多线程异步(二)——Taskasyncawait详解

一、什么是异步   同步异步主要用于修饰方法。...net4.0在ThreadPool的基础上推出了Task类,微软极力推荐使用Task来执行异步任务,现在C#类库中的异步方法基本都用到了Task;net5.0推出了async/await,让异步编程更为方便...2 Task的Wait/WaitAny/WaitAll方法   Thread的Join方法可以阻塞调用线程,但是有一些弊端:①如果我们要实现很多线程的阻塞时,每个线程都要调用一次Join方法;②如果我们想让所有的线程执行完毕...);ThreadPool基于Thread的,主要目的是减少Thread创建数量管理Thread的成本。...async/await Task是C#中更先进的,也是微软大力推广的特性,我们在开发中可以尝试使用Task来替代Thread/ThreadPool,处理本地IO网络IO任务是尽量使用async/await

6K30

C#开发: 通信篇-串口调试助手

说明  这节教给用户使用C#做一个串口调试助手,  用户可在此基础上依据自己的需求做修改  本人的其它关于串口通信的上位机也会在此基础上做修改,  请用户认真学习本节. ? 新建工程 ?...布局串口配置页面 1.拖拽上来一个 GroupBox ? 2.重新命名 ?  3.拖拽上去6个Label,位置显示如下 ? 4....提示: 按照上面的操作以后 电脑上便会有了COM1COM2 COM1发送的数据将会自动发送给COM2 COM2发送的数据将会自动发送给COM1 7.测试 ? ?...9.关于显示字符串显示16进制说明 在上面的测试接收中COM1那个串口调试助手发送的 数据为字符串 123456 实际传输是按照ASCii码表传输的对应的16进制 ?...C#串口中断回调函数也是不定个数的进入 假设另一个串口发送的数据为 123456 int len = serialPort1.BytesToRead;//获取可以读取的字节数

5.5K53
领券