串口、多线程
文章平均质量分 86
小雪IT工程师
这个作者很懒,什么都没留下…
展开
-
C#串口操作实际应用开发详解
前一段时间用C#串口操作开发,由于以前没有接触过C#串口操作刚开始觉得很难,后来查了一些资料后发现其实并没什么大不了的。现把C#串口操作总结一下。那么这里分成两步向你介绍C#串口操作的具体过程:第一步C#串口操作的控件只能引用Mscomm控件(1)、将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中。要注意的是,MSComm控件是要授权的,所以必原创 2010-05-05 09:30:00 · 1230 阅读 · 0 评论 -
揭开Socket编程的面纱
转:http://kb.cnblogs.com/page/188594/对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问: 1. 什么是TCP/IP、UDP? 2. Socket在哪里呢? 3. Socket是什么呢? 4. 你会使用它们吗? 什么是TCP/IP、UDP? TCP/IP(Tr转载 2013-09-24 09:26:02 · 691 阅读 · 0 评论 -
C#多线程之ManualResetEvent和AutoResetEvent
初次体验ManualResetEvent和AutoResetEvent主要负责多线程编程中的线程同步;以下一段是引述网上和MSDN的解析:在.Net多线程编程中,AutoResetEvent和ManualResetEvent这两个类经常用到, 他们的用法很类似,但也有区别。Set方法将信号置为发送状态,Reset方法将信号置为不发送状态,WaitOne等待信号的发送。可以通过构造函数的参数转载 2012-11-01 17:18:01 · 800 阅读 · 0 评论 -
WaitHandle、AutoResetEvent、ManualResetEvent整理
WaitHandle是一个用以控制线程同步的类,有WaitOne()方法,用以阻止当前线程(提前是其状态为Nonsignaled,即红灯,后面解释),直到当前的WaitHandle 收到绿灯信号。WaitHandle有两个状态"Signaled" and "Nonsignaled",前者可以理解为绿灯,绿灯状态时WaitOne方法无效,当前线程不会被阻止,后者可以理解为红灯,WaitOne转载 2012-11-01 17:30:14 · 630 阅读 · 0 评论 -
使用异步方式调用同步方法
转载:http://msdn.microsoft.com/zh-cn/library/2e08f6yc(v=vs.80).aspx.NET Framework 允许您异步调用任何方法。为此,应定义与您要调用的方法具有相同签名的委托;公共语言运行库会自动使用适当的签名为该委托定义 BeginInvoke 和 EndInvoke 方法。BeginInvoke 方法可启动异步调用。它与您需要异步转载 2012-09-13 18:38:36 · 521 阅读 · 0 评论 -
用Visual C#调用Windows API函数
Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力。Visual C#和其它开发工具一样也能够调用动态链接库的API函数。.NET框架本身提供了这样一种服务,允许受管辖的代码调用动态链接库中实现的非转载 2012-03-01 15:23:17 · 383 阅读 · 0 评论 -
多线程的自动管理(定时器)
<br />Timer类:设置一个定时器,定时执行用户指定的函数。<br /> 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。<br />初始化一个Timer对象: <br />Timer timer = new Timer(timerDelegate, s,1000, 1000); <br />// 第一个参数:指定了TimerCallback 委托,表示要执行的方法;<br />// 第二个参数:一个包含回调方法要使用的信息的对象,或者为空引用;<br />//转载 2010-08-09 10:33:00 · 692 阅读 · 0 评论 -
C#定时器的使用
<br />在C#里关于定时器类就有3个: <br />1.定义在System.Windows.Forms里 <br />2.定义在System.Threading.Timer类里 <br />3.定义在System.Timers.Timer类里 <br />System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的。它的主要缺点是计时不精确,而且必须有消息循环,控制台应用程序无法使用,它通过Tick属性来触发事件。 <br />转载 2010-08-09 10:30:00 · 648 阅读 · 0 评论 -
一个简单的C#多线程间同步的例子
<br />在开发中经常会遇到线程的例子,如果某个后台操作比较费时间,我们就可以启动一个线程去执行那个费时的操作,同时程序继续执行。在某些情况下可能会出现多个线程的同步协同的问题,下面的例子就展示了在两个线程之间如何协同工作。<br />这个程序的思路是共同做一件事情(从一个ArrayList中删除元素),如果执行完成了,两个线程都停止执行。<br />代码如下:using System;<br />using System.Collections;<br />using System.Collection转载 2010-08-03 17:07:00 · 644 阅读 · 0 评论 -
C#串口操作实际应用开发详解
<br />前一段时间用C#串口操作开发,由于以前没有接触过C#串口操作刚开始觉得很难,后来查了一些资料后发现其实并没什么大不了的。现把C#串口操作总结一下。那么这里分成两步向你介绍C#串口操作的具体过程:第一步C#串口操作的控件只能引用Mscomm控件(1)、将Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三个文件复制到系统文件夹中。要注意的是,MSComm控件是要授权的,所以必须将其使用“执照”Licence 在注册表中登记注册,下一步就是注册方法。至于为什么要这样做,可以看转载 2010-08-03 17:15:00 · 927 阅读 · 0 评论 -
C#源码多线程多串口
<br />多个串口,最好用多线程,这样比较方便 ,<br />也可以在一个线程中,一个一个读串口数据! 本源码是从网上收集的,用于保留自己以后使用,同时希望对需要的朋友提供一点学习的资料。<br /><br />using System;<br />using System.IO.Ports;<br />using System.Threading;<br />using System.Text;<br />namespace Tangxu.Common<br />{<br /> public cl转载 2010-08-03 17:12:00 · 8174 阅读 · 3 评论 -
C# 多线程控制控件实例(例程简单,注释详细)
该实例功能为“多线程控制UI控件”,线程函数实现自动加1。界面如下: <br /> <br />using System;<br />using System.Collections.Generic;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Text;<br />using System.Windows.Forms;<br />usin转载 2010-08-03 17:09:00 · 1075 阅读 · 0 评论 -
C#基于事件驱动的多串口多线程串口通讯软件架构设计
<br />最近写一个串口通讯程序,客户对界面,容量要求都比较高。要求支持多串口同时工作。于是自己提炼了一个架构,用于抛砖引玉。 本来想用VC,基于成本考虑,决定采用.Net,而且C#的事件比VC的消息容易控制些,只是跨线程触发的时候稍微注意下。<br />先上个图<br /><br /><br /><br /> <br />上图是整个通讯控制架构,根据配置文件加载实例,每个串口打开一个线程用以处理命令队列。命令加以优先级来区分轻重缓急。<br /> //向队列追加命令<br /> public v转载 2010-08-03 16:59:00 · 4325 阅读 · 1 评论 -
C#串口操作实用类
C#串口操作实用类 做工业通信有很长时间了,特别是串口(232/485),有VB/VC/C各种版本的串口操作代码,这些代码也经过了多年的现场考验,应该说是比较健壮的代码,但是目前却没有C#相对成熟的串口操作代码,最近用Moxa的设备开发基于WinCE5.0的串口操作代码,所以就扩充完善了一下串口操作,特别是SendCommand函数,这是我比较常用的主从通信代码,不喜欢用事件或线程接数据,在规定的超时时间内直接循环判断要接收的数据。<br /> 下面是具体的代码: <br /原创 2010-08-03 17:18:00 · 1122 阅读 · 0 评论 -
一个演示多线程操作及同步的C#程序
作者:Enjoying .NET 来源:博客园 发布时间:2006-03-07 18:57 阅读:450 次 原文链接 [收藏] /**//* <br /> * Envionment: Win2kServer+VC#.NET2005<br /> * Author: WandyWang <br /> * Verion: 1.0<br /> * Date: 06-3-7<br /> * Abstract: 演示C#中多线程操作及其同步,示例的原型来自于C#Prim转载 2010-08-03 17:14:00 · 1016 阅读 · 0 评论 -
C#中串口通信编程
一.概述在Visual Studio 6.0中编写串口通讯程序,一般都使用Microsoft Communication Control(简称MSComm)的通讯控件,只要通 过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。但在Microsoft.Net技术广泛应用的今天,Visual Studio.Net没有将此控件加入控件库,所以人们采用了许多方法在Vis转载 2010-05-05 10:08:00 · 1234 阅读 · 0 评论 -
C#串口通信:MSComm控件使用详解
摘要:本文详细介绍了MSComm控件在串口编程中使用。 目 次MSComm控件两种处理通讯的方式CommPort属性RThreshold 属性CTSHolding 属性SThreshold 属性CDHolding 属性DSRHolding 属性Settings 属性InputLen 属性EOFEnable 属性Handshake 常数OnComm 常数InputMode 常数原创 2010-05-05 10:25:00 · 1366 阅读 · 1 评论 -
在C#中实现串口通信
本文主要是讲述如何通过C# .net1.1平台调用API操作串口,.net2.0已经内置串口操作类! 通常,在C#中实现串口通信,我们有四种方法: 第一:通过MSCOMM控件这是最简单的,最方便的方法。可功能上很难做到控制自如,同时这个控件并不是系统本身所带,所以还得注册。可以访问 http://www.devhood.com/tutorials/tutorial_details.aspx?tut原创 2010-05-05 10:01:00 · 1084 阅读 · 0 评论 -
System.Threading.Semaphore
转:http://www.c-sharpcorner.com/UploadFile/1d42da/threading-with-semaphore-in-C-Sharp/ IntroductionThe semaphore class works similar to the Monitor and Mutex class but lets you set a limit on how转载 2012-09-05 11:28:28 · 864 阅读 · 0 评论