关于 C# SerialPort问题 请各路高手帮帮忙哈

问题描述

privatevoidserialPort_DataReceived(objectsender,System.IO.Ports.SerialDataReceivedEventArgse){if(sp.DsrHolding==false&&serialPort1.CtsHolding==true){Touch=true;}else{if(Touch){Touch=false;MessageBox.Show("ssssss");}}}SerialPortsp=newSerialPort();privatevoidForm2_Load(objectsender,EventArgse){sp.Open();sp.DtrEnable=true;sp.RtsEnable=true;sp.ReceivedBytesThreshold=1;}privatevoidtimer1_Tick(objectsender,EventArgse){sp.DataReceived+=newSerialDataReceivedEventHandler(serialPort_DataReceived);}怎么触发不了DataReceived事件。

解决方案

解决方案二:
没有串口初始化的条件波特率什么的如果不满足触发的条件也不会触发的
解决方案三:
我就是用C#自带的控件也没有办法触发DataReceived的事件
解决方案四:
没弄过,帮顶下
解决方案五:
privatevoidForm2_Load(objectsender,EventArgse){sp.Open();sp.DtrEnable=true;sp.RtsEnable=true;sp.ReceivedBytesThreshold=1;}privatevoidtimer1_Tick(objectsender,EventArgse){sp.DataReceived+=newSerialDataReceivedEventHandler(serialPort_DataReceived);}红色部分不是很好。这样会告成局部内存泄漏。最好把它放到Form的构造函数中去。
解决方案六:
该回复于2010-08-04 06:38:49被版主删除
解决方案七:
DataReceived方法是不是只有有信息传输过来的时候才能执行?我用一个类似鼠标的一个脚踏开关来控制的怎么就是执行不到DataReceived这个方法呢?
解决方案八:
楼主的写法有问题,定时器那部分。然后还有你com口的初始化没有定义,不知道对不对
解决方案九:
放在timer里头干啥要定时触发么放在一个死循环里头看看我以前放timer也不触发我也不知道咋回事最后放在死循环里面就可以了波特率串口名都要指定阀值达不到你这里是一字节别人不给你发数据也是不会触发的
解决方案十:
首先建议你在初始化的时候就添加委托事件。sp.DataReceived+=newSerialDataReceivedEventHandler(serialPort_DataReceived);再者无需时间控件来读取。最后记得设置事件触发前的缓冲区字节数。
解决方案十一:
将SerialPort的属性值RtsEnable设置为true
解决方案十二:
我在wince5.0应用程序开发过程遇到类似问题,后来就这样解决啦。
解决方案十三:
privatevoidForm2_Load(objectsender,EventArgse){sp.Open();sp.DtrEnable=true;sp.RtsEnable=true;sp.ReceivedBytesThreshold=1;sp.DataReceived+=newSerialDataReceivedEventHandler(serialPort_DataReceived);sp.Open()}
解决方案十四:
关键在于需要设置ReceivedBytesThreshold属性,一般为1
解决方案十五:
看看波特率和端口设置的对不对。不要把接收事件的订阅写在TIMER中,

时间: 2024-08-02 01:52:25

关于 C# SerialPort问题 请各路高手帮帮忙哈的相关文章

this.COM1 = new AxMSCommLib.AxMSComm(); 请各位高手帮帮忙啊

问题描述 this.COM1=newAxMSCommLib.AxMSComm();有谁知道这是什么控件吗?请各位高手帮帮忙啊 解决方案 解决方案二:C#调用控件MSCOMM32.OCX,用于串口通信的,先注册在使用

做myoutlook遇到SMTP的问题,请各位高手帮帮忙啊

问题描述 连接邮箱:shiyanoutlook@163.com...服务器响应:220163.comAnti-spamGTforCoremailSystem(163com[071018])登录系统...邮件服务器响应:250OK身份验证...OK验证密码...邮件服务器响应:535Error:authenticationfailed登录错误!登录系统...邮件服务器响应:250OK身份验证...OK验证密码...邮件服务器响应:535Error:authenticationfailed登录错误!

请各位高手帮帮忙!!谢谢

问题描述 https://www.myspace.com/signup上面这个链接是一个注册页面,一开始选择那个单选框,默认是personal,只要选择其他选项注册的内容就会变化,请问这是怎么实现的??请高手帮忙解答!谢谢,看了源代码也看不出是怎么实现的! 解决方案 解决方案二:低级的可以试试用js写.解决方案三:有没有具体的代码可以学习呢?

就这么多分数了,请各位高手帮帮忙吧。应该用一个循环吗?

问题描述 web用OWC11做统计图标,在网上找了些资料都是统计特定量的,我要实现的效果是:页面有个checkboxlist,用户自己选择要统计的量后显示折线图之类的.在清清月儿那里学习了下,http://blog.csdn.net/21aspnet/archive/2007/03/27/1543320.aspx可就是不知道怎么实现不确定量的统计.我试着在图形生成前加了个checkboxlist判断选择的循环,可是没实现效果.请问应该怎么做?能给个例子也行,求求各位了555555 解决方案 解决

关于JSP输出问题,无法显示JSP内容,请各位高手帮帮忙啊

问题描述 <%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.sql.*"%><html><head><title>JSP+JDBC留言管理程序</title></head><body><center><h1>留言管理范例</h1><hr>&l

js在vs中调试都正常,生成网站后js失效.新手,请各位高手帮帮忙.

问题描述 <liid="aa"style="visibility:hidden;display:none"><ahref="aa.aspx">test</a></li><scripttype="text/javascript"language="javascript">vara=document.getElementById("limit

TcpListener的AcceptSocket() 问题,请大家高手帮帮忙,谢谢呵呵。

问题描述 为什么我在使用TcpListener的AcceptSocket()方法接受远端数据时,程序总是好像死机一样.进行调试时关标停在AcceptSocket()方法那里就不动了,直到远端数据发过来才能继续往下运行.请问解决这种死机的现象应该怎么做?谢谢具体代码如下:publicvoidStartServer(){tcpListener.Start();//监听try{while(true){s=tcpListener.AcceptSocket();//接受请求---------->停在这里了

菜鸟求助,请各位高手帮帮忙,谢谢

问题描述 这是一个我按照书上打的例子,实现一个BankTransaction类,允许用户如下操作:开设账户,取消账户,存钱,取钱,转账,把钱从一个账户转到另一个账户的时候打印一个或者多个已经存在的账户的报告.publicclassACCount{//定义账号privateStringid;privateStringName;privateDoubletotal;ACCount(Stringi,Stringn,Doublet){id=i;Name=n;total=t;}publicStringge

想点击Html的Button控件后将左框架中的TextBox.text传到右框架中该按钮所响应的页面中,我要怎么做呢?请各位高手帮帮忙!

问题描述 如题! 解决方案 解决方案二:怎么没有人?急~解决方案三:js解决方案四:能说详细点吗?谢谢