SerialCommunication是我综合网上看到的代码稍作修改而成的串口通信类,而SerialPort则是C#的System类库的IO目录Ports子目录下的串口通信类.SerialCommunication只有区区的二百多行,而SerialPort则有几千行.下面我将介绍SerialPort相对于SerialCommunication好在哪里. 首先是一些基本字段的对比. /// <summary> /// 波特率 /// </summary> public int Bau…
既然是秘籍,显然是写一些大家不常找到的,MSDN里遗漏提示大家注意的东西. 用过.net 2.0中,自带SerialPort的人,大多都遇到过.莫名其妙的执行Close的时候会死掉的问题.而Wince,mobile下,甚至Write,WriteLine的时候也会死锁.这和串口底层驱动有关. 1.Close的时候死机问题 我只是猜测,Close执行的操作是调用2个API: SetCommMask(m_hComPort,0);WaitForSingleObject(m_pThread->m_hThr…
SerialPort.h 1 #ifndef __SERIALPORT_H__ 2 #define __SERIALPORT_H__ 3 4 #define WM_COMM_BREAK_DETECTED WM_USER+1 // A break was detected on input. 5 #define WM_COMM_CTS_DETECTED WM_USER+2 // The CTS (clear-to-send) signal changed state. 6 #define WM_C…
简介最近工作中需要读取gps设备的信息,平板本身有内置的gps设备,但是精度不够,就又添加了一个外置的gps.对于外置的gps,我们主要通过SerialPort类来获得串口的信息,然后对接收到的内容进行解析处理,对于内置的gps,我们可以通过GeoCoordinateWatcher类来方便的获取gps数据. 使用 SerialPort 设置串口属性进行串口通讯时,需要设置一些相关参数,可以通过设置SerialPort 类的属性来进行.串口属性主要包括.PortName 串口名称,COM1, CO…
using System;   using System.Collections.Generic;   using System.ComponentModel;   using System.Data;   using System.Drawing;   using System.Text;   using System.Windows.Forms;   using System.IO.Ports;   using System.Threading;   namespace TestSerial…
本文转自:https://stackoverflow.com/questions/11590945/how-to-display-the-data-read-in-datareceived-event-handler-of-serialport 问: I have the following code which needs the data to be read from port and then display in a textbox. I am using DataReceived e…
本文转自:https://docs.microsoft.com/en-us/dotnet/api/system.io.ports.serialport?redirectedfrom=MSDN&view=netframework-4.7.2 SerialPort Class Definition Namespace: System.IO.Ports Assemblies: System.dll, System.IO.Ports.dll Represents a serial port resour…
序言:最近做了一个智能体育项目——跆拳道积分系统,硬件部分会向软件传入振动值等数据,链接方式为串口,所以用到SerialPort类. 值得注意的是: DataReceived 方法,当串口缓冲区有数据时执行该方法. ReceivedBytesThreshold属性决定了当串口读缓存中数据多少个时才触发DataReceived事件,默认为1.串口接收的指令可能是错误值,所以这块根据自己需求进行设置. 首先需要引用SerialPort using System.IO.Ports; 创建全局串口对象…
SerialPort(): //属性 .BaudRate;获取或设置波特率 .BytesToRead;得到 接收到数据的字节数 .BytesToWrites;得到送往串口的字节数 .DataBits;获取或设置数据位 .IsOpen;获取一个值,判断串口是否打开 .Pariy;获取或设置校验位 .PortName;串口名称 .ReadBufferSize;获取或设置读取数据的缓存大小 .ReadTimeout;读取超时时间 .StopBits;停止位 .NewLine;用于解释通过ReadLin…
SerialPort(): //属性 .BaudRate;获取或设置波特率 .BytesToRead;得到 接收到数据的字节数 .BytesToWrites;得到送往串口的字节数 .DataBits;获取或设置数据位 .IsOpen;获取一个值,判断串口是否打开 .Pariy;获取或设置校验位 .PortName;串口名称 .ReadBufferSize;获取或设置读取数据的缓存大小 .ReadTimeout;读取超时时间 .StopBits;停止位 .NewLine;用于解释通过ReadLin…