社区
C#
帖子详情
关于串口操作,
凋零的老树
2008-07-15 02:33:58
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length);
读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
...全文
163
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
打赏
举报
回复
顶
深入浅出vc++
串口
编程
RS-232C 接口是
串口
通信的标准接口,全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"。 二、RS-232C 接口的硬件原理 RS-232C 接口使用 UART 芯片提供了并行数据传输和串行...
Android
串口
通信:
串口
读写
这个SerialUtil可能就是包含
串口
通信功能的动态链接库,Java代码通过System.loadLibrary("SerialUtil")加载该库,然后通过JNI接口调用C++实现的
串口
操作
函数。 5. **使用步骤**: - 在Java代码中,首先通过`System...
VB
串口
通信源码210个
038、VB
串口
通信
操作
界面,进行数据采集,画实时曲线 039、VB
串口
通信程序,可以读取
串口
并显示保存数据,且能显示数据曲线 040、VB
串口
通信的源码,学习的好资料 041、VB
串口
通信调试器的源码程序 042、VB
串口
通信设计...
串口
调试助手V2.2源代码
串口
调试助手是一款广泛应用于电子工程师、程序员以及爱好者手中的实用工具,主要用于测试和调试串行通信接口,如RS-232、UART等。龚建伟编写的
串口
调试助手V2.2源代码开放了这个软件的核心实现,使得用户可以深入...
易佰USB转
串口
驱动
这种转换器的主要功能是将USB接口转换为传统的9针串行接口(RS-232),以适应那些需要
串口
连接的老式设备或特定设备,例如某些打印机、GPS接收器、工业控制器等。 描述中提到的“易佰USB2.0转九针
串口
驱动,光盘...
C#
110,825
社区成员
642,575
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章