社区
C#
帖子详情
关于串口操作,
凋零的老树
2008-07-15 02:33:58
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length);
读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
...全文
208
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
打赏
举报
回复
顶
MATLAB
串口
操作
本文介绍了如何使用MATLAB进行
串口
操作
,包括创建
串口
对象、连接设备、配置通讯参数及读写数据等步骤。详细解释了
串口
操作
流程、属性配置及数据交互方式。
串口
操作
——COM
本文介绍
串口
通讯方法,vs2010默认无
串口
控件,主要讲解通过文件
操作
的方式。详细阐述了
串口
操作
步骤,包括打开
串口
、配置
串口
(涉及波特率、校验等参数)、发送数据、接收数据以及关闭
串口
,还说明了各步骤所需的参数。
Ubuntu关于
串口
的
操作
(查看
串口
信息、
串口
助手、
串口
权限)
本文介绍了Ubuntu系统下
串口
的相关
操作
。包括查看本机
串口
信息,判断
串口
是否在使用及查看
串口
设备;推荐了几款
串口
调试软件,如minicom、CuteCom、COMTool;还解决了
串口
权限问题,可设置永久加权,让普通用户也能对
串口
进行读写
操作
。
Python
串口
工具之
串口
操作
本文介绍了Python
串口
工具的
操作
,包括
串口
的打开、关闭、发送和接收功能,对应serial模块不同接口的使用。详细说明了打开
串口
的按键
操作
及函数实现,强调配置参数时要注意数据类型。还给出了数据接收的代码,设置每2ms读取数据,有16进制和字符两种显示方式。
C#
串口
操作
类,包括
串口
读写
操作
本文提供了一个全面的C#
串口
操作
类,包括
串口
的读写
操作
、参数设置、事件处理等。该类支持
串口
的打开、关闭、数据发送及接收,并附带了调试过的代码实例。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章