社区
C#
帖子详情
关于串口操作,
凋零的老树
2008-07-15 02:33:58
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length);
读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
...全文
155
17
打赏
收藏
关于串口操作,
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length); 读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
txf123
2008-08-01
打赏
举报
回复
我有串口通信的例子 QQ:619121698
txf123
2008-08-01
打赏
举报
回复
[Quote=引用 2 楼 51Crack 的回复:]
if (serialPort1.BytesToRead>0)
变量=serialPort1.ReadExisting
[/Quote]
别的程序发给你,你程序卡死,你延迟一下试试
凋零的老树
2008-07-16
打赏
举报
回复
还是不行哦,if (serialPort1.BytesToRead>0)
到这一句就死了.快疯了
shadowgreen
2008-07-16
打赏
举报
回复
我也遇到和LZ一样的问题
计算机和下位机通信,如果不向串口写数据,就读不出数据···
串口有时读不出来可能是因为时间太短
凋零的老树
2008-07-16
打赏
举报
回复
你有没有添加serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
这个是添加事件时自动添加的啊?
凋零的老树
2008-07-16
打赏
举报
回复
private void button1_Click(object sender, EventArgs e)
{
SerialPort sp = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
sp.Open();
sp.WriteLine(textBox1.Text);
textBox2.Text = sp.ReadLine();
sp.Close();
}
我一执行这个就死这是为什么啊?
JeffChung
2008-07-16
打赏
举报
回复
[Quote=引用 9 楼 kongxiangli 的回复:]
我用别的程序com1上发数据库,我的程序总是没有反映了,奇怪了
[/Quote]
如果你是只有一个com口,你另外的程序在上面发数据,占用了那个串口,其他的程序都用不了啦
要有两个串口(有一分多的串口线)拿交叉线对接连接,可以做自发自收的测试
wdgphc
2008-07-16
打赏
举报
回复
[Quote=引用 9 楼 kongxiangli 的回复:]
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Int32 iByteCount;
byte[] buffer;
iByteCount = serialPort1.BytesToRead;
buffer = new byte[iByteCount];
serialPort1.Read(buffer, 0, buffer.Length);
label1.Text = buffer.ToString();
}
死活不…
[/Quote]
你有没有添加serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
aaajedll
2008-07-16
打赏
举报
回复
[Quote=引用 8 楼 kongxiangli 的回复:]
因为你串口没有数据过来,serialPort1.Read就一直在等待中,就象死掉了.所以一般都把这种写到serialPort1.DataArrived事件中比较好.
哦,谢谢
[/Quote]
凋零的老树
2008-07-16
打赏
举报
回复
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Int32 iByteCount;
byte[] buffer;
iByteCount = serialPort1.BytesToRead;
buffer = new byte[iByteCount];
serialPort1.Read(buffer, 0, buffer.Length);
label1.Text = buffer.ToString();
}
死活不触发了???
我用别的程序com1上发数据库,我的程序总是没有反映了,奇怪了
凋零的老树
2008-07-16
打赏
举报
回复
因为你串口没有数据过来,serialPort1.Read就一直在等待中,就象死掉了.所以一般都把这种写到serialPort1.DataArrived事件中比较好.
哦,谢谢
wdgphc
2008-07-16
打赏
举报
回复
因为你串口没有数据过来,serialPort1.Read就一直在等待中,就象死掉了.所以一般都把这种写到serialPort1.DataArrived事件中比较好.
Kstar
2008-07-16
打赏
举报
回复
我就这样读的从来没有死过,是不是硬件有什么问题
Int32 iByteCount;
byte[] buffer;
iByteCount = m_CommPort.BytesToRead
buffer = new byte[iByteCount];
m_CommPort.Read(buffer, 0, buffer.Length);
凋零的老树
2008-07-15
打赏
举报
回复
好象不行哦
baihe_591
2008-07-15
打赏
举报
回复
serialPort1.BytesToRead
51Crack
2008-07-15
打赏
举报
回复
if (serialPort1.BytesToRead>0)
变量=serialPort1.ReadExisting
suiqirui19872005
2008-07-15
打赏
举报
回复
顶
VB
串口
通信源码210个
038、VB
串口
通信
操作
界面,进行数据采集,画实时曲线 039、VB
串口
通信程序,可以读取
串口
并显示保存数据,且能显示数据曲线 040、VB
串口
通信的源码,学习的好资料 041、VB
串口
通信调试器的源码程序 042、VB
串口
通信设计...
C#
串口
操作
系列(5)--通讯库雏形
C#
串口
操作
系列(5)--通讯库雏形 http://blog.csdn.net/wuyazhe/archive/2010/08/09/5797673.aspx 对应范例
Linux_C_C++
串口
读写
串口
读写
常用的
串口
是 RS-232-C 接口(又称 EIA RS-232-C)它是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是"数据终端设备(DTE)和...
C#使用SerialPort和API
串口
的例子
一个集成了SerialPort和API方式实现
串口
通信的例子.注意线程
操作
UI的部分图方便使用了不安全的代码,建议改为委托
接收机RS-232
串口
电路的控制
不过,在朋友们实际
操作
中时,常常会出现无法升级的现象,这一方面可能是软件的
操作
错误,另外一方面也涉及到4x0系列机RS-232
串口
电路上的问题,现在我们就深入谈谈RS-232串行接口电路的控制。 RS-232串行接口
C#
110,019
社区成员
642,615
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章