社区
C#
帖子详情
关于串口操作,
凋零的老树
2008-07-15 02:33:58
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length);
读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
...全文
176
17
打赏
收藏
关于串口操作,
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length); 读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
顶
串口
调试助手V2.2源代码
串口
调试助手是一款广泛应用于电子工程师、程序员以及爱好者手中的实用工具,主要用于测试和调试串行通信接口,如RS-232、UART等。龚建伟编写的
串口
调试助手V2.2源代码开放了这个软件的核心实现,使得用户可以深入...
VB
串口
通信源码210个
038、VB
串口
通信
操作
界面,进行数据采集,画实时曲线 039、VB
串口
通信程序,可以读取
串口
并显示保存数据,且能显示数据曲线 040、VB
串口
通信的源码,学习的好资料 041、VB
串口
通信调试器的源码程序 042、VB
串口
通信设计...
PCI
串口
扩展卡驱动WCH CH352L
WCH CH352L是一款常见的
串口
控制器芯片,它支持多路串行接口,具有高速传输能力和良好的兼容性。驱动程序的更新对于保持设备与最新
操作
系统版本的兼容性至关重要,因为新的
操作
系统可能会引入不兼容性或者优化通信...
C#
串口
操作
系列(5)--通讯库雏形
在本篇中,我们将深入探讨"C#
串口
操作
系列(5)--通讯库雏形"这一主题。在软件开发中,特别是在嵌入式系统、工业自动化或者物联网(IoT)应用中,
串口
通信扮演着至关重要的角色。C#语言由于其易用性和丰富的类库,成为...
java
串口
调试demo
在Java中,
串口
通信(Serial Port Communication)是一种硬件接口,允许计算机与其他设备通过串行数据链路进行通信。由于Java标准库并不直接支持
串口
操作
,所以我们需要依赖第三方库,如RXTX库。 RXTX是一个开源的...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章