Imports SystemImports System.IO.Ports Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        '获取计算机有效串口        Dim ports As String() = SerialPort.GetPortNames() '必须用命名空间,用Seria…
SerialPort中串口数据的读取与写入有较大的不同.由于串口不知道数据何时到达,因此有两种方法可以实现串口数据的读取.一.线程实时读串口:二.事件触发方式实现. 由于线程实时读串口的效率不是十分高效,因此比较好的方法是事件触发的方式.在SerialPort类中有DataReceived事件,当串口的读缓存有数据到达时则触发DataReceived事件,其中SerialPort.ReceivedBytesThreshold属性决定了当串口读缓存中数据多少个时才触发DataReceived事件,…
namespace SerialPort { public partial class Form3 : Form { delegate void UpdateTextEventHandler(string text); //委托,此为重点 public static readonly string connStr = AppHelper.GetConfigValue("SqliteStr"); public Form3() { InitializeComponent(); } #reg…
做工业通 信有很长时间了,特别是串口(232/485),有VB/VC/C各种版本的串口操作代码,这些代码也经过了多年的现场考验,应该说是比较健壮的代码,但 是目前却没有C#相对成熟的串口操作代码,最近用Moxa的设备开发基于WinCE5.0的串口操作代码,所以就扩充完善了一下串口操作,特别是 SendCommand函数,这是我比较常用的主从通信代码,不喜欢用事件或线程接数据,在规定的超时时间内直接循环判断要接收的数据. 下面是具体的代码:   public class PortData     …
命名空间:using System.IO.Ports;该类提供了同步 I/O 和事件驱动的 I/O.对管脚和中断状态的访问以及对串行驱动程序属性的访问. 操作类声明: SerialPort sp = null; /// <summary> /// 打开串口 /// </summary> /// <param name="protName">串口号</param> /// <param name="baudRate"…
整理参考自<Visual C#.NET 串口通信及测控应用典型实例>1.3 节 以及 一篇博文:C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子. 硬件部分 如果是两个串口设备,把其中一个的 2.3.5 引脚分别连接到另一个的 3.2.5 引脚即可. 如果是单个串口设备,则将其2.3引脚相连就行了. 如果没有串口设备,可以使用软件(Virtual Serial Port Driver)模拟串口. 硬件连接好之后,可以先下载一个“串口调试助手1”测试串口连接是否正常. 软件部分…
一.关于DataReceive事件. 主程序必须有 outserialPort.DataReceived +=new SerialDataReceivedEventHandler(outserialPort_DataReceived);//注册received事件 创建 SerialDataReceivedEventHandler 委托即把接受数据的时间关联到相应的事件去.否则接收事件发生时无法触发对应的方法. +=表示增加注册一种方法,而-=则相反. 二.读取串口数据的两种方法 第一种是采用r…
1).开发环境VS12,语言C# 2).扫描枪品牌:datalogic 4470 3).通讯协议:串口 1.首先,第一步创建一个新工程,windows窗体应用程序,命名为TestScanner,如下: 2.选择 “工具”-“选择工具箱”,如下: 3.选择"microsoft communication control version 6.0",通过此路径可知其位于64位SysWow64下的ocx控件mscomm32.ocx; 4.从右侧工具箱“组件”中找到串口控件,拖入窗体Form1中…
原文地址:http://blog.csdn.net/wuyazhe/article/details/5627253 我们的串口程序,除了通用的,进行串口监听收发的简单工具,大多都和下位机有关,这就需要关心我们的通讯协议如何缓存,分析,以及通知界面. 我们先说一下通讯协议.通讯协议就是通讯双方共同遵循的一套规则,定义协议的原则是尽可能的简单以提高传输率,尽可能的具有安全性保证数据传输完整正确.基于这2点规则,我们一个通讯协议应该是这样的:头+数据长度+数据正文+校验 例如:AA 44 05 01…
C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子. 标签: c#objectnewlineexceptionbytestring 2010-05-17 01:10 117109人阅读 评论(302) 收藏 举报  分类: 通讯类库设计(4)  版权声明:本文为博主原创文章,未经博主允许不得转载. 我假设读者已经了解了c#的语法,本文是针对刚打算解除串口编程的朋友阅读的,作为串口编程的入门范例,也是我这个系列的基础. 我们的开发环境假定为vs2005(虽然我在用vs2010,但避…