求助!! 关于C# 串口通信关闭串口时卡住的问题 [问题点数:100分]

Bbs1
本版专家分:0
结帖率 75%
Bbs7
本版专家分:14897
Bbs2
本版专家分:430
Bbs4
本版专家分:1727
Bbs1
本版专家分:0
Bbs2
本版专家分:217
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs12
本版专家分:465888
Blank
进士 2018年总版新获得的技术专家分排名前十
2017年 总版技术专家分年内排行榜第十
2013年 总版技术专家分年内排行榜第八
Blank
铜牌 2018年12月 总版技术专家分月排行榜第三
2018年11月 总版技术专家分月排行榜第三
2017年2月 总版技术专家分月排行榜第三
Blank
红花 2019年1月 .NET技术大版内专家分月排行榜第一
2018年12月 .NET技术大版内专家分月排行榜第一
2018年11月 .NET技术大版内专家分月排行榜第一
2018年10月 .NET技术大版内专家分月排行榜第一
2018年9月 .NET技术大版内专家分月排行榜第一
2018年7月 .NET技术大版内专家分月排行榜第一
2018年6月 .NET技术大版内专家分月排行榜第一
2018年1月 .NET技术大版内专家分月排行榜第一
2017年5月 .NET技术大版内专家分月排行榜第一
2017年4月 .NET技术大版内专家分月排行榜第一
2017年3月 .NET技术大版内专家分月排行榜第一
2017年2月 .NET技术大版内专家分月排行榜第一
2016年10月 .NET技术大版内专家分月排行榜第一
2016年8月 .NET技术大版内专家分月排行榜第一
2016年7月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2018年8月 .NET技术大版内专家分月排行榜第二
2018年4月 .NET技术大版内专家分月排行榜第二
2018年3月 .NET技术大版内专家分月排行榜第二
2017年12月 .NET技术大版内专家分月排行榜第二
2017年9月 .NET技术大版内专家分月排行榜第二
2017年7月 .NET技术大版内专家分月排行榜第二
2017年6月 .NET技术大版内专家分月排行榜第二
2016年12月 .NET技术大版内专家分月排行榜第二
2016年9月 .NET技术大版内专家分月排行榜第二
2016年6月 .NET技术大版内专家分月排行榜第二
2016年3月 .NET技术大版内专家分月排行榜第二
2016年1月 .NET技术大版内专家分月排行榜第二
2015年12月 .NET技术大版内专家分月排行榜第二
2015年2月 .NET技术大版内专家分月排行榜第二
2015年1月 .NET技术大版内专家分月排行榜第二
2014年11月 .NET技术大版内专家分月排行榜第二
2014年5月 .NET技术大版内专家分月排行榜第二
2014年4月 .NET技术大版内专家分月排行榜第二
2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
Bbs12
本版专家分:465888
Blank
进士 2018年总版新获得的技术专家分排名前十
2017年 总版技术专家分年内排行榜第十
2013年 总版技术专家分年内排行榜第八
Blank
铜牌 2018年12月 总版技术专家分月排行榜第三
2018年11月 总版技术专家分月排行榜第三
2017年2月 总版技术专家分月排行榜第三
Blank
红花 2019年1月 .NET技术大版内专家分月排行榜第一
2018年12月 .NET技术大版内专家分月排行榜第一
2018年11月 .NET技术大版内专家分月排行榜第一
2018年10月 .NET技术大版内专家分月排行榜第一
2018年9月 .NET技术大版内专家分月排行榜第一
2018年7月 .NET技术大版内专家分月排行榜第一
2018年6月 .NET技术大版内专家分月排行榜第一
2018年1月 .NET技术大版内专家分月排行榜第一
2017年5月 .NET技术大版内专家分月排行榜第一
2017年4月 .NET技术大版内专家分月排行榜第一
2017年3月 .NET技术大版内专家分月排行榜第一
2017年2月 .NET技术大版内专家分月排行榜第一
2016年10月 .NET技术大版内专家分月排行榜第一
2016年8月 .NET技术大版内专家分月排行榜第一
2016年7月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2018年8月 .NET技术大版内专家分月排行榜第二
2018年4月 .NET技术大版内专家分月排行榜第二
2018年3月 .NET技术大版内专家分月排行榜第二
2017年12月 .NET技术大版内专家分月排行榜第二
2017年9月 .NET技术大版内专家分月排行榜第二
2017年7月 .NET技术大版内专家分月排行榜第二
2017年6月 .NET技术大版内专家分月排行榜第二
2016年12月 .NET技术大版内专家分月排行榜第二
2016年9月 .NET技术大版内专家分月排行榜第二
2016年6月 .NET技术大版内专家分月排行榜第二
2016年3月 .NET技术大版内专家分月排行榜第二
2016年1月 .NET技术大版内专家分月排行榜第二
2015年12月 .NET技术大版内专家分月排行榜第二
2015年2月 .NET技术大版内专家分月排行榜第二
2015年1月 .NET技术大版内专家分月排行榜第二
2014年11月 .NET技术大版内专家分月排行榜第二
2014年5月 .NET技术大版内专家分月排行榜第二
2014年4月 .NET技术大版内专家分月排行榜第二
2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
Bbs12
本版专家分:465888
Blank
进士 2018年总版新获得的技术专家分排名前十
2017年 总版技术专家分年内排行榜第十
2013年 总版技术专家分年内排行榜第八
Blank
铜牌 2018年12月 总版技术专家分月排行榜第三
2018年11月 总版技术专家分月排行榜第三
2017年2月 总版技术专家分月排行榜第三
Blank
红花 2019年1月 .NET技术大版内专家分月排行榜第一
2018年12月 .NET技术大版内专家分月排行榜第一
2018年11月 .NET技术大版内专家分月排行榜第一
2018年10月 .NET技术大版内专家分月排行榜第一
2018年9月 .NET技术大版内专家分月排行榜第一
2018年7月 .NET技术大版内专家分月排行榜第一
2018年6月 .NET技术大版内专家分月排行榜第一
2018年1月 .NET技术大版内专家分月排行榜第一
2017年5月 .NET技术大版内专家分月排行榜第一
2017年4月 .NET技术大版内专家分月排行榜第一
2017年3月 .NET技术大版内专家分月排行榜第一
2017年2月 .NET技术大版内专家分月排行榜第一
2016年10月 .NET技术大版内专家分月排行榜第一
2016年8月 .NET技术大版内专家分月排行榜第一
2016年7月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2018年8月 .NET技术大版内专家分月排行榜第二
2018年4月 .NET技术大版内专家分月排行榜第二
2018年3月 .NET技术大版内专家分月排行榜第二
2017年12月 .NET技术大版内专家分月排行榜第二
2017年9月 .NET技术大版内专家分月排行榜第二
2017年7月 .NET技术大版内专家分月排行榜第二
2017年6月 .NET技术大版内专家分月排行榜第二
2016年12月 .NET技术大版内专家分月排行榜第二
2016年9月 .NET技术大版内专家分月排行榜第二
2016年6月 .NET技术大版内专家分月排行榜第二
2016年3月 .NET技术大版内专家分月排行榜第二
2016年1月 .NET技术大版内专家分月排行榜第二
2015年12月 .NET技术大版内专家分月排行榜第二
2015年2月 .NET技术大版内专家分月排行榜第二
2015年1月 .NET技术大版内专家分月排行榜第二
2014年11月 .NET技术大版内专家分月排行榜第二
2014年5月 .NET技术大版内专家分月排行榜第二
2014年4月 .NET技术大版内专家分月排行榜第二
2012年2月 多媒体/设计/Flash/Silverlight 开发大版内专家分月排行榜第二
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs5
本版专家分:4366
Bbs2
本版专家分:257
Bbs2
本版专家分:438
Bbs1
本版专家分:0
Bbs1
本版专家分:0
Bbs4
本版专家分:1845
Bbs5
本版专家分:2753
Bbs7
本版专家分:16628
Blank
黄花 2018年12月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2018年7月 .NET技术大版内专家分月排行榜第三
C#串口通信数据不完整
下面代码是我使用C#开发<em><em>串口</em>通信</em>写的代码,在实现<em><em>串口</em>通信</em>过程中,在数据接收线程中, 未加这条语句Thread.Sleep(50);我使用<em>串口</em>工具调试 ,<em><em>串口</em>通信</em>正常,但是在与实际单片机通信过程中,出现数据不完整现象,经过多方查询,发现模拟状态下<em><em>串口</em>通信</em>速率是理想状态,但是在实际通信过程中,<em><em>串口</em>通信</em>并不是理想状态,有速率限制。 因此在接收<em><em>串口</em>通信</em>时应该有一定的延时,这样给予<em>串口</em>充足时间接收收据,这...
C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?
点击打开链接   第一篇文章我相信很多人不看都能做的出来,但是,用过微软SerialPort类的人,都遇到过这个尴尬,<em>关闭</em><em>串口</em>的时候会让软件死锁。天哪,我可不是武断,算了。不要太绝对了。99.9%的人吧,都遇到过这个<em>问题</em>。我想只有一半的人真的解决了。另外一半的人就睁只眼闭只眼阿弥佗佛希望不要在客户那里出现这<em>问题</em>了。       你看到我的文章,就放心吧,这<em>问题</em>有救了。我们先回顾一下上一篇中的
为什么C#串口程序在关闭串口时候会死锁
 为什么C#<em>串口</em>程序在<em>关闭</em><em>串口</em>时候会死锁_老文章_赛迪网 http://www.ccidnet.com/2010/0524/2067861.shtml 【赛迪网讯】用过微软SerialPort类的人,都遇到过这个尴尬,<em>关闭</em><em>串口</em>的时候会让软件死锁。天哪,我可不是武断,算了。不要太绝对了。99.9%的人吧,都遇到过这个<em>问题</em>。我想只有一半的人真的解决了。另外一半的人就睁只眼闭只眼阿弥
C#解决串口通信中接收数据时延迟处理与缓存处理的方法
C#解决<em><em>串口</em>通信</em>中接收数据时延迟处理与缓存处理的方法 时间:2011-1-21 14:04:29 来源:www.cnblogs.com 作者:杨少宁 - - 利用<em>串口</em>进行通信,当发送方(A)将数据写入<em>串口</em>后,通过无线或有线方式将数据传送给接收方(B),B通过调用<em>串口</em>读方
请问用C#比较串行和并行计算时间,为什么加thread.sleep(1)串行比较并行慢,不加就快?
请问用C#比较串行和并行计算时间,为什么加thread.sleep(1)串行比较并行慢,不加就快? 程序如下: /*******************************************
[求助]C# 串口事件接收高频次数据, sp.close()时就会程序会卡死.
有相关开发经验的大侠们有遇到过同类<em>问题</em>吗? 目前要设计一个利用<em>串口</em>接收间隔为100~50ms的数据程序. 我用<em>串口</em>助手模拟以100ms间隔持续发送相同数据, 然后写程序利用<em>串口</em>接收数据事件对其数据进行
串口通信丢失数据结局方案——C#
<em><em>串口</em>通信</em>的一般思路是:先接收数据,然后处理数据,并在数据处理之后再次等待接收新的数据。但这种方法的缺点是,在<em>串口</em>高速率大信息量通信时,会出现丢失数据的情况。        丢失数据的原因是数据接收和数据处理再同一个线程中,如果数据处理的时间太长,则来不及接收的数据只能暂存在缓存中。因此,一旦缓存满了,新到的数据就会冲刷掉未来得及接收的数据,从而造成数据的丢失。因此,只是增加缓存的容量不能解决数据
c# 串口通讯和TCP通讯
<em>c#</em> <em>串口</em>通讯和TCP通讯。用途是根据<em>串口</em>通讯获得一起的准确数据,然后根据tcp发布出去,已经验证
c#调api串口通讯
在调试ICU通信设备的时候,由于<em><em>串口</em>通信</em>老出现故障,所以就怀疑CF实现的SerialPort类是否有<em>问题</em>,所以最后决定用纯API函数实现<em>串口</em>读写。先从网上搜索相关代码(关键字:C# API <em>串口</em>),发现网上相关的资料大约来源于一个版本,那就是所谓的msdn提供的样例代码(msdn的具体出处,我没有考证),其它的代码大都是它的变种。其实这个示例代码是有<em>问题</em>的,也就是说DCB结构体声明的有<em>问题</em>
多线程串口通信 MFC CSerialPort
原文转载自http://www.cnblogs.com/xingrun/p/3587144.html?utm_source=tuicool&utm_medium=referral。 以下全为转载: 写在前面:          晚上应该继续完成未写完的代码,但Chrome上打开的标签实在太多了,约30个了,必须关掉一些,所以需要把自己看的整理一下然后关掉。本次主要写点MF
Wince 使用.NET Compact Framework的进行蓝牙(开发之蓝牙虚拟串口
.NET Compact Framework下的Bluetooth开发 之 Windows Embedded Source Tools for Bluetooth  .NET Compact Framework下的Bluetooth开发 之 32feet.NET  在这篇文章讲述Bluetooth Virtual Serial Port的开发,所谓Bluetooth Virtual S
蓝牙拔出后 串口关不掉 重新插入蓝牙 连接不上
用的是USB转<em>串口</em>,蓝牙拔掉后,去<em>关闭</em><em>串口</em>,报“设备不能识别此命令”,再次点击连接,也连接不上。请各位帮帮忙!不胜感激!
windows下蓝牙虚拟串口通信
windows下可以通过RFCOMM虚拟的<em>串口</em>进行通信. RFCOMM简介: RFCOMM仿真RS232<em>串口</em>,该仿真过程包括非数据通路状态的传输。RFCOMM不限制人工速率或步长,如果通信链路两端的设备都是负责将数据转发到其他通信介质的第二类设备,或在两端RFCOMM设备接口上进行数据传输,实际数据吞吐一般将反映波特率的设置.RFCOMM支持两个设备之间的多<em>串口</em>仿真,也支持多个设
C#读取串口线程,关闭时出现错误~~~急
private void buttonComSet_Click(object sender, EventArgs e) { try { //创建接收线程 ThreadStart readStart =
C#初入串口通信(串行通信)总结
使用WinFrom来实现: 首先要知道<em><em>串口</em>通信</em>协议以及原理 原理大概提一下:要自己翻阅看。(http://book.51cto.com/art/200911/162532.htm或者http://hi.baidu.com/���472405746/blog/item/9ad1358fd9b0caf6f11f3668.html) 代码部分: 实现<em><em>串口</em>通信</em>有很多种办法,有COM组件(收费),有
matlab串口通讯问题
<em>问题</em>1:使用fprintf向<em>串口</em>发送数据时,下位机不能成功接受数据 原因:通讯协议不一致,下位机连续接受0x0d、0x0a【CR/LF】时,完成一次接受【usart.c,stm32,<em>串口</em>中断函数】,需要配置matlab<em>串口</em>的terminator为CR/CF。 -CR/CF的结束符为\n\r。 小结1:matlab中fprintf函数 -fprintf以文本输出时,\r\n为转译字符
Android串口(SerialPort)开发常遇神坑
在Android<em>串口</em>编程的时候,首先需要进行<em>串口</em>初始化,打开相应的<em>串口</em>。当我们初始化的时候显示java.lang.SecurityException,这时候可能是<em>串口</em>名称不正确,需要用Android <em>串口</em>调试助手对相应的硬件进行调试,找到相应的正确<em>串口</em>。 当我们使用su = Runtime.getRuntime().exec(“/system/xbin/su”);方法获取系统权限的时候,可能抛出
C#实现简单串口通信助手
建立好一个form后,选择工具箱,在组件所属里找到SerialPort: 拖拽一个即可。 这时可以看到属性栏: 可以查看修改默认属性值。 这时就可以通过控件设计我们的界面啦: 我这里设计的很简单,包括<em>串口</em>设置、接收数据、发送数据。<em>串口</em>设置参数,我只包含了两个,我们经常改动的COM口和波特率,其他都使用默认值。 波特率通常使用的有固定几种,我们将可能用到的写到波特率绑定的co...
c#实现串口通信
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO.Ports; using System.Linq; using System.Text; using System.Threadin...
Visual C#.NET串口通信及测控应用典型实例目录清晰版{有完整例程未包含视频(云盘完整版)}
Visual C#.NET<em><em>串口</em>通信</em>及测控应用典型实例目录清晰版 压缩文件中有完整例程但未包含视频,我将完整版的视频 发到网盘中需要的可以下载。
C#与单片机串口通信 “已关闭safe handle”问题
最近在做C#上位机与单片机(本人用的单片机内核是89C52)<em><em>串口</em>通信</em>,今天忽然出现个<em>问题</em>: “已<em>关闭</em>safe handle”。找来找去发现<em>串口</em>设置什么的都OK,后来发现是单片机没有上电,多次尝试过后确定单片机没有上电的话确实会弹出这个错误提示。
c#串口通信程序,包含打开串口,接收数据和发送数据等功能
这是一个我写的用C#实现<em><em>串口</em>通信</em>的程序,可以扫描<em>串口</em>,然后选择<em>串口</em>,打开<em>串口</em>之后,如果打开成功,打开<em>串口</em>旁边的方框会变绿,这个可以验证是否成功打开,打开<em>串口</em>旁边还有<em>关闭</em><em>串口</em>命令。 打开<em>串口</em>之后,在发送的命令框里写下需要发送的命令,就可以在接收框里接收发送的命令。这样能够直观的看是否发送正确,验证<em><em>串口</em>通信</em>是否可行
串口程序接收数据一段时间后出现乱码
发送端数据太快的<em>问题</em> 需要在发送端加延时;   用这个东西监控一下端口状况: http://technet.microsoft.com/zh-cn/bb896644.aspx [/Quote] 我用过一个<em>串口</em>跟踪器一样的东西,但是这个东西也只是从我的缓存里面读取数据,跟我编的程序读数据的结果是一眼的啊. 用<em>串口</em>监控软件监控<em>串口</em>,在出现乱码的时候先确定下是发送的<em>问题</em>还是接收到<em>问题</em>
串口通讯的延时问题
   <em>串口</em>编程涉及很多<em>问题</em>,对于实时采集系统,<em>串口</em>编程必须服从系统定时器采集节拍,这样通过事件方式接收<em>串口</em>然后延时就会带来很多<em>问题</em>。  <em>串口</em>数据通常不是一次到来,对于一个较为长的数据,可能分两三次触发<em>串口</em>事件,如果每次事件触发时都要延时(采用system.threading.thread.sleep(500)延时500毫秒),造成线程阻塞,三次下来就延时了1500毫秒,对于需要定时节拍的采集,势必
串口通信模块3:串口通信编程基础(读写、关闭
上一节总结了如何打开<em>串口</em>并讨论了如何配置<em>串口</em>,本节是在上一节的基础上,进一步讨论<em>串口</em>编程的基础——如何进行文件读写?如何<em>关闭</em><em>串口</em>? 1. 读写<em>串口</em> <em>串口</em>的读写操作和文件的读写操作是一样的,也是通过ReadFile()及WriteFile()函数来实现的。这两个函数的原型分别如下: 写文件函数原型及说明: BOOL WriteFile( HANDLE hFile, LPCVO
Unity中使用串口的注意事项
在unity中使用<em>串口</em>不如WinForm或者MFC中那样有对应的回调函数或者消息来处理,unity中使用的是线程去处理读取数据、处理粘包数据等<em>问题</em>,具体在使用中可能遇到下面<em>问题</em>: 1、程序在打开<em>串口</em>后,<em>关闭</em>不了(只能调出任务管理器,结束任务来处理); 2、读取<em>串口</em>数据时总是丢失第一个字节的数据; 3、<em>串口</em>拒绝访问。 以上可能是你正在苦恼的<em>问题</em>,我也是一样,再次分享自己的解决方法。 第一和
彻底搞清回车(0x0d)和换行(0x0a)
让您彻彻底底搞清楚回车符(0x0d)与换行符(0x0a)的区别!
C#串口编程(简单Demo)
步骤一:下载安装<em>串口</em>模拟软件 软件名称:VSPM虚拟<em>串口</em>软件   下载地址:http://download.csdn.net/source/1232967 使用方法:1.安装以后工作模式选择为:VSPM运行在Server模式,支持Client模式设备               2.使用设备探测器建立虚拟<em>串口</em>。(如果选择 建立默认的<em>串口</em>,软件就会自动帮你建立四个虚拟<em>串口</em>的)之后就是新增虚拟串
C#与Arduino通过串口通信来控制LED灯的状态
C#与Arduino通过<em><em>串口</em>通信</em>来控制LED灯的状态
Linux下串口通信详解(下)读写串口关闭串口
上一篇博客是<em>串口</em>的打开及配置,博客链接http://blog.csdn.net/specialshoot/article/details/50707965 这一篇我将要把读写<em>串口</em>及<em>串口</em><em>关闭</em>的操作详细介绍一下。 读<em>串口</em> 读<em>串口</em>就是接收<em>串口</em>数据,通过read来实现。 read函数原型: #include ssize_t read(int fd, void *buf, size_t
C# 解决串口接收数据不完整
使 用缓存机制完成。首先通过定义一个成员变量List buffer = new List (4096);用来存放所有的数据,在接收函数里,通过buffer.AddRange()方法不断地将接收到的数据加入到buffer中,并同时对 buffer中的数据进行检验,如果达到一定的长度并且校验结果正确(校验方法在发送方和接收方一致),再进行处理。具体代码如下:代码 private List buffer
基于VS 2015并使用C#编程实现串行通信
基于VS 2015并使用C#编程实现串行通信 1.话不多说,先上结果 下面简单说一下操作步骤直接上程序,如果有看不懂的地方,请看文章最后(下载下来慢慢看,只要不是傻瓜,你就一定行)。 2.先整一个结果图所示的窗体出来 1.打开vs,文件-新建-项目,建一个Windows窗体应用程序,自己改一下名称,选择一下保存位置点确定。如下图所示: 之后弹出下面界面: 接下来就是添加按钮、窗口、文本框了,...
关于C#/WPF的SerialPort类串口接受数据异常的问题
如题所说,在软件测试过程中,
串口通信数据丢失的问题
担任去中兴软创合作的项目,并且担任了组长责任大了,独立完成C++的<em><em>串口</em>通信</em>全部功能. 昨天调试我写的<em><em>串口</em>通信</em>程序,发现0x00的数据无法接收。在网上找了一下,发现有不少人有遇到这个<em>问题</em>。 今天早上来,把程序改过了,现在可以很好地接收到0x00数据了。   参考了一些资料 http://topic.csdn.net/u/20090112/15/60e7cd07-7336-4a6c-9b24-245f6379cf70.html 0x00对于char类型的数据来说可能会
串口通信问题处理
<em>关于</em><em>串口</em>收发异常芯片管脚电压测量。
单片机和串口设备通讯设计时要注意的几个问题
现在有很多外设喜欢通过UART接口进行通讯控制,比如<em>串口</em>WIFI模块,<em>串口</em>蓝牙模块,<em>串口</em>HMI等等。因为基本上每款单片机都有UART这个硬件设备,这使得通过UART来控制的外设可以在众多单片机系统中使用。 单片机和单片机<em>串口</em>通讯,单片机和外设<em>串口</em>通讯,设计时要注意几点: 第一,  是最基本,往往也是容易忽略的,就是电平匹配<em>问题</em>。3.3V和5.0V等不同电平的进行通讯时,要进过电平匹配电路,才能
串口通信过程中更改波特率的方法 C#实现
///   /// 设置波特率  ///   ///   public void ResetBaudRate(int bdr)  {   bool ret = true;   Win32Com.DCB dcb = new Win32Com.DCB();   ret = Win32Com.GetCommState(hPort,ref dcb);   dcb.BaudRate = bdr;   ret
c# 简单的串口通信 新手篇
最近自己闲着 自学了C# ,本人不是搞软件的 ,搞嵌入式的 ,经常要用<em>串口</em>调试工具来调试 ,有时候还要处理一些数据但是市面上的不能满足我的要求 ,正好一个项目需要学习C#,借此机会来开发一个<em>串口</em>  ,说不定对我也有用! 话不多说先看看成果! <em>串口</em>调试工具 功能:    通过<em>串口</em>设置设置相应的参数  ,<em>串口</em>检测  检测插上的<em>串口</em>号 ,发送与接收数据,HEX显示 ,定时发送,文件保存。 1...
.net中的串口类的实时响应性分析
曾经在实时控制系统应用中,利用<em>串口</em>的管脚事件进行IO监听,发现在对外有大量密集的线程池输出时,会造成管脚信号丢失,在项目现场分析了相当一段时间,后来揣测是由于管脚监听事件的底层,利用了相同的线程池,当在业务系统中频繁调用底层线程池时,造成新的线程分配机制跟不上信号的变化,但因为看不到微软的底层源码,一直就没有事实的依据作为佐证。 这段时间在分析微软的RefrenceSourceCode时,偶然想
[置顶] 在C#中使用SerialPort类实现串口通信(陆续更新)
[置顶] 在C#中使用SerialPort类实现<em><em>串口</em>通信</em>(陆续更新) 标签: <em>c#</em>newlineobjectbytestringstream 2009-08-23 13:16 85234人阅读 评论(30) 收藏 举报  分类: C#学习笔记(5)  版权声明:本文为博主原创文章,未经博主允许不得转载。  在.NET Framework
c#串口多线程接收数据
因为前段时间需要用到<em>串口</em>接收数据,且使用的<em>串口</em>号不确定,需采用多线程的方式来实现接收。 创建线程: Thread thread = null; for (int i = 0; i < PortNum; i++)//根据选择的<em>串口</em>号数量创建对应数量的线程 { thread = new Thread(Text_Ru
C# 调用API 操作串口
本文转自:http://blog.csdn.net/wzwind/article/details/1898454   在调试ICU通信设备的时候,由于<em><em>串口</em>通信</em>老出现故障,所以就怀疑CF实现的SerialPort类是否有<em>问题</em>,所以最后决定用纯API函数实现<em>串口</em>读写。 先从网上搜索相关代码(关键字:C# API <em>串口</em>),发现网上相关的资料大约来源于一个版本,那就是所谓的msdn提供的样例代码(m
vs2008下的16进制串口通信,解决串口多帧少帧丢帧错帧问题
vs2008下的16进制<em><em>串口</em>通信</em>,解决<em>串口</em>多帧少帧丢帧错帧<em>问题</em>。
VB2010的串口能正常接收数据,但无法发送数值大于127的数据
发送大于127的数据,接收回来却是00或0x3f,直接通过STM32发送0XFF这些大于127的数据,接收正常,确定是发送不了大于127的数据,在网上查了很久终于有结果,SerialPort1.Write(sendDATA, 0, k),sendDATA是只能发送ASCII值0-127,超出范围就会被0或3F代替(不知道对不对,我<em>串口</em>接收是这样的)我用的是VB2010,在<em>串口</em>初始化时候加上:Me....
串口通信解决数据乱码和数据丢失
本程序主要解决了<em>串口</em>接收数据的过程中出现乱码和数据丢失的情况,特别适合于<em><em>串口</em>通信</em>的初学者.希望能够对大家有所帮助
笔记:做一个MFC串口界面遇到的一些问题和解决思路
一些<em>问题</em>和解决方案: 1.
基于C# Winform的串口数据接收
很多初学者在接触到<em>串口</em>编程时,不知道如何入手,找了网上一些文章,也是鱼龙混杂,不好学习。 今天,我分享一篇文章,讲述 基于C# Winform的<em>串口</em>数据接收编程(适合大概明白WinForm编程的同学,没有接触过WinForm的同学下载源码学习)
C# 串口通讯摘要(转)
http://www.xuebuyuan.com/1034657.html <em>串口</em>通讯摘要(转) <em><em>串口</em>通信</em>之并发与单步 物理连接示意图如下所示,每个<em>串口</em>挂接多个采集器。 通信协议: 包头(1B) + 地址码(1B) + 命令字(1B) + 数据长度(1B) + 校验码1(1B) + 数据正文(nB) + 校验码2(1B
串口通信 实时解析或发送串口的数据包
通过C#实现<em><em>串口</em>通信</em>,里面的代码展示了如何监听计算机中的<em>串口</em>,解析数据或者发送数据,做<em>串口</em>开发的可以参考
C#串口通信源代码
界面 源码:下载参考了以下两篇文章: http://blog.csdn.net/geekwangminli/article/details/7851673 http://blog.csdn.net/wuyazhe/article/details/5598945using System; using System.Collections.Generic; using System.Compone
c#实现串口通讯
1、<em>c#</em>实现简单的<em><em>串口</em>通信</em>2、实现需要的空间如下图,lable、button、textbox、serial、timer,如下图3、初始化<em>串口</em>初始化的内容包括指定<em>串口</em>的波特率、接受数据的函数、端口号等(1)波特率选择如下图,直接点击按钮的属性,设置波特率为96002、接受数据的函数,双击DataReceived后面的空格,自动关联,如果收到数据,就会进入这个函数3、端口号此处表示想要连接的对方的端口...
C#串口介绍以及简单串口通信程序设计和实现
C#<em>串口</em>介绍以及简单<em><em>串口</em>通信</em>程序设计实现 周末,没事干,写个简单的<em><em>串口</em>通信</em>工具,也算是本周末曾来过,废话不多,直接到主题 <em>串口</em>介绍   串行接口简称<em>串口</em>,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。(至于再详细,自己百度) <em>串口</em>应用:   工业领域使用较多,比如:数据采集,设备控制等等,好多都是用<em><em>串口</em>通信</em>来实现!你要是细心的话,你会发现,目前家用国网智能电能表就具备RS485通信总线(串行总线的一种)与RS232可以相互转化(当然一般,非专业的谁也不会闲的蛋疼,趴电表上瞎看,最多也就看看走了多少度电) RS232 DB9介绍: 1.示意图 2.针脚介绍: 载波检测(DCD) 接受数据(RXD) 发出数据(TXD) 数据终端准备好(DTR) 信号地线(SG) 数据准备好(DSR) 请求发送(RTS) 清除发送(CTS) 振铃指示(RI) 3.实物图: 以下是我购买XX公司的一个usb转<em>串口</em>线:这个头就是一个公头,另一端是一个usb口 笨小孩<em>串口</em>工具运行图: 1.开启程序 2.发送一行字符串HelloBenXH,直接将针脚的发送和接收链接起来就可以测试了(针脚2 接受数据(RXD) 和3 发出数据(TXD))直接链接, C#代码实现:采用SerialPort 1.实例化一个SerialPort [csharp] view plain copy 在CODE上查看代码片派生到我的代码片 private SerialPort ComDevice = new SerialPort(); 2.初始化参数绑定接收数据事件 [csharp] view plain copy 在CODE上查看代码片派生到我的代码片 public void init() { btnSend.Enabled = false; cbbComList.Items.AddRange(SerialPort.GetPortNames()); if (cbbComList.Items.Count > 0) { cbbComList.SelectedIndex = 0; } cbbBaudRate.SelectedIndex = 5; cbbDataBits.SelectedIndex = 0; cbbParity.SelectedIndex = 0; cbbStopBits.SelectedIndex = 0; pictureBox1.BackgroundImage = Properties.Resources.red; ComDevice.DataReceived += new SerialDataReceivedEventHandler(Com_DataReceived);//绑定事件 }
winform 串口接受常遇到的异常
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)  {     int SDateTemp = this.serialPort1.ReadByte();     //读取<em>串口</em>中一个字节的数据      this.tB_ReceiveDate.Invoke(         //在拥
C#串口通信 连接串口并发送字符
C#打开含有对应字符的<em>串口</em>,并发送字符串
verilog-1 FPGA串口通信问题解析
FPGA<em><em>串口</em>通信</em>实验 <em>问题</em>待解决中。。。
c# 串口通讯 读写数据源代码
<em>c#</em> <em>串口</em>通讯 读写数据源代码,单线程实现
在C#中实现串口通信的方法
通常,在C#中实现<em><em>串口</em>通信</em>,我们有四种方法: 第一:通过MSCOMM控件这是最简单的,最方便的方法。可功能上很难做到控制自如,同时这个控件并不是系统本身所带,所以还得注册,不在本文讨论范围。可以访问http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=320 ,一个国外网友的写的教程,作者很热心,我曾有发邮件给他,很快
简单的C#串口通讯例子(附源文件)
由于公司需求所以就查了一些资料写了个<em>串口</em>和设备通讯的 话说现在用<em>串口</em>的应该比较少了吧。 先上一张程序UI图 简单<em>串口</em>通讯必备的东西都在这里了。个人建议使用的时候先短接2-3口进行测试以免线都不通。 下面直接上源码,注释写的还是比较详细的相信还是很容易懂的。 (PS:我这里数据接收的结束符为16)/// /// 创建<em>串口</em>对象
C#串口介绍以及简单串口通信程序设计实现
C#<em>串口</em>介绍以及简单<em><em>串口</em>通信</em>程序设计实现 周末,没事干,写个简单的<em><em>串口</em>通信</em>工具,也算是本周末曾来过,废话不多,直接到主题 <em>串口</em>介绍   串行接口简称<em>串口</em>,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。(至于再详细,自己百度) <em>串口</em>应用:   工业领域使用较多,比如:数据采集,设备控制等等,好多都是用<em><em>串口</em>通信</em>来实现!你要是细心的话,你会发现,
Eclipse中启动了占用串口的线程,怎样解除串口占用
如题,在Eclipse中编写了<em><em>串口</em>通信</em>的类,启动之后,占用了COM8。 但是这个类进行修改之后需要重新运行,重新运行的时候提示端口被占用,也就是说刚才的线程还在运行: 并且,运行其他<em>串口</em>调试软件的时候也提示端口被占用: 那怎样结束占用端口的java线程呢? 1. 比较麻烦的方法:<em>关闭</em>Eclipse。但重新打开比较繁琐,费时间。 2. 在任务管理器中,找到javaw
C#.NET串口通信设计实例
包含有PC与PC机、单片机、PLC等下位机的<em><em>串口</em>通信</em>
C#串口通信——协议格式
  转自:https://www.cnblogs.com/fyhui/articles/2477733.html   <em><em>串口</em>通信</em>之协议格式 缓存收到的所有数据,找到一条完整数据,分析数据,界面通知。   信令格式: 同步头 + 数据正文 + 同步尾 同步头 + 命令字 + 数据长度 + 数据正文 + 同步尾 同步头 + 地址码 + 命令字 + 数据长度 + 数据正文 + 同步尾 ...
串口通讯以abc#方式发送,#为结束符, 返回abc。波特率:115200bps
#include #include #define uint unsigned int #define uchar unsigned char //定义控制LED灯的端口 #define LED1 P1_0 //定义LED1为P10口控制 #define LED2 P1_1 //函数声明 void Delayms(uint xms); //延时函数 v
【C# 4】C#上位机无法与STM32单片机通信的问题,已解决
1,C#编写的上位机与<em><em>串口</em>通信</em>软件(SSCOM)可以正常通信, <em><em>串口</em>通信</em>软件(SSCOM)与STM32单片机也能正常通信, 但是上位机与STM32一直无法正常通信, 这个<em>问题</em>怎么解决的??? 我的程序中用到了SerialPort插件。 1-1,在虚拟<em><em>串口</em>通信</em>的时候,虚拟COM2,COM3,当我把上位机的PortName改成COM7时候,即使在运行调试界面选择COM2,还是无法通信的。 当...
C#使用RS232串口通讯示例
完整的RS232<em>串口</em>通讯示例
【C#】串口传输中文字符
发送: Encoding gb = System.Text.Encoding.GetEncoding(&quot;gb2312&quot;); byte[] bytes = gb.GetBytes(&quot;中文&quot;); serialPort1.Write(bytes, 0, bytes.Length); 接收: int ilen = serialPort1.BytesToRead; byte[]...
串口关闭时候报错、死锁、还有数据在处理报串口关闭错误 解决办法
为什么C#<em>串口</em>程序在<em>关闭</em><em>串口</em>时候会死锁_老文章_赛迪网 http://www.ccidnet.com/2010/0524/2067861.shtml 【赛迪网讯】用过微软SerialPort类的人,都遇到过这个尴尬,<em>关闭</em><em>串口</em>的时候会让软件死锁。天哪,我可不是武断,算了。不要太绝对了。99.9%的人吧,都遇到过这个<em>问题</em>。我想只有一半的人真的解决了。另外一半的人就睁只眼闭只眼阿弥佗佛
C# 串口通讯Demo(VS2010)
一个简单的C# <em>串口</em>通讯Demo,可收发数据。
串口通信协议设计中一个注意的小问题
最近接触到一个文档,其中<em><em>串口</em>通信</em>的通信协议中用0x040x06转义0x02,我一直不理解这样的动机是什么。因为以前见过的都是类似0x100x02来转义0x02刚才突然想通了。果然很妙。后者不科学,因为切分数据帧要用状态机不但程序复杂而且占用计算力,同时还增加了通信干扰扩散的概率,干扰的收敛更慢。所以前者的设计是十分高明。使用前者可以有以下好处:如果在数据中看到0x02可以直接判断数据帧不必考虑转义...
C#串口通信,包括打开串口,接收发送数据
public partial class Form1 : Form { public Form1() { InitializeComponent(); } SerialPort port1 = new SerialPort(); string InputData = String.Empty; delegate void SetTextCallback(string text); private void Port_Select() {//获取机器中的<em>串口</em>地址 string[] ports = SerialPort.GetPortNames(); foreach (string port in ports) { comboBox1.Items.Add(port); } } private void Form1_Load_1(object sender, EventArgs e) { Port_Select(); this.comboBox1.SelectedIndex = 0; this.comboBox2.SelectedIndex = 0; } private void button1_Click(object sender, EventArgs e) { if (button1.Text == "<em>关闭</em><em>串口</em>") //当要<em>关闭</em><em>串口</em>的时候 { port1.DiscardOutBuffer(); port1.DiscardInBuffer(); port1.Close(); button1.Text = "打开<em>串口</em>"; label3.Text = "<em>串口</em>当前状况:未打开"; comboBox1.Enabled = true; comboBox2.Enabled = true; } else if (button1.Text == "打开<em>串口</em>") //当要打开<em>串口</em>的时候 { try { port1.PortName = comboBox1.SelectedItem.ToString(); port1.BaudRate = Convert.ToInt32(comboBox2.SelectedItem); port1.DataBits = 8; port1.RtsEnable = true; port1.Open(); port1.DiscardOutBuffer(); port1.DiscardInBuffer(); button1.Text = "<em>关闭</em><em>串口</em>"; comboBox1.Enabled = false; comboBox2.Enabled = false; label3.Text = "<em>串口</em>:" + comboBox1.SelectedItem.ToString() + " 波特率:" + comboBox2.SelectedItem.ToString() + " 数据位:8 "; } catch { button1.Text = "打开<em>串口</em>"; label3.Text = "<em>串口</em>:" + comboBox1.SelectedItem.ToString() + "打开失败"; MessageBox.Show("该<em>串口</em>无法打开"); } } } 资源中部分代码
C#窗体串口通讯界面编程
采用<em>c#</em>编程,完成了上位机界面与下位机<em>串口</em>通讯功能及界面设计,含完整代码及注释
串口通信的调试01
在开发中,我们经常遇到这种情况,供应商给了一台仪器,然后仪器配套有软件。我们通过点击按钮往仪器发送命令,仪器返回数据。 有些时候,我们希望可以通过自己编写的软件来操作仪器,从而获得数据。这个时候就需要知道第三方软件到底给仪器发送了什么数据。 那么这个时候我们可以通过设置一对虚拟<em>串口</em>来获得按钮发送的数据。(Virtual Serial Port Driver软件) 然后通过<em><em>串口</em>通信</em>助手来获得发
unity3d串口通信,双线程一收一处理
using UnityEngine; using System.Collections; using System.Collections.Generic;//队列 using System.IO; using System.IO.Ports; using System.Threading;//线程 using System; using System.Text;//16进制转换 public
文章热词 Objective-C培训 视频压缩信号 设计制作学习 机器学习教程 交互设计视频教程
相关热词 ios获取idfa server的安全控制模型是什么 sql android title搜索 ios 动态修改约束 python+串口通信的教程 python+串口通信教程
我们是很有底线的