社区
C#
帖子详情
关于串口操作,
凋零的老树
2008-07-15 02:33:58
int byteCount = serialPort1.Read(bytesData, 0, bytesData.Length);
读串口数据时候就死了,如果在打开串口后再加上一句 _serialPort1.Write("0"); 就可以能过去,说白了往串口写东西再读就行,不写东西,直接读就死机了,这是为什么啊?能不能先判断啊?怎么判断了?
...全文
210
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
串口
操作
串口
操作
的整个流程: 建立
串口
对象–使用serial创建函数对一个特定的
串口
创建对象(可能要配置一些属性,如波特率、数据位数等) 对设备进行连接–使用fopen函数来实现
串口
对象与设备的连接。 配置属性–使用set或者 . 符号来建立想要的
串口
对象的行为属性值,可以再创建对象时或者是建立对象以后都可以堆属性进行配置 发送和接收数据–发送数据是通过函数fprintf和fwrite来实现的,接收数据是通过fgetl,fgets,fread,fscanf和readasync来实现的,
串口
对象此时的行为都是基于前
串口
操作
——COM
串口
通讯可以使用MFC控件,但是vs2010里边默认不带
串口
控件。
串口
通讯也可以通过文件来
操作
,用的是Win32的API函数。 下边主要讲通过文件
操作
。 步骤: 一、打开
串口
HANDLE hCom; //
串口
句柄 hCom = CreateFile( s,//COM口 GENERIC_READ|GENERIC_WRITE, //允许读和写 0, //独占方式,...
Python
串口
工具之
串口
操作
if self.ui.pushButton_open.text() == "打开
串口
" and self.ui.comboBox_Com.currentText()!在
操作
过程中,是有一些问题需要注意,在配置
串口
参数时,一定要注意是字符串还是数字,比如波特率,停止位,数据位等都是数字,而校验位是字符,并且是特定的N,O,E等,否则都不能正常工作。self.ui.pushButton_open.setText("关闭
串口
")self.ui.pushButton_open.setText("打开
串口
")
Ubuntu关于
串口
的
操作
(查看
串口
信息、
串口
助手、
串口
权限)
转载自: Ubuntu关于
串口
的
操作
(查看
串口
信息、
串口
助手、
串口
权限) 万俟淋曦 2019-11-25 18:25:33 2736 收藏 31 分类专栏: Linux 文章标签: serial linux
串口
版权 一、查看本机
串口
信息 1.
串口
是否在使用
串口
在 /dev 目录中,查看
串口
是否在使用,可以用命令 ls -l /dev/ttyUSB0 说明: ls -l:是查看目录的命令,直接用ls或ll也可以。 ttyUSB0:是
串口
名,一般都是tty开头,根据连接设备不
C#
串口
操作
类,包括
串口
读写
操作
C#
串口
操作
类,包括
串口
读写
操作
本文转载自博客园:C#
串口
操作
类,包括
串口
读写
操作
串口
进行
操作
的类,其中包括写和读
操作
,类可设置
串口
参数、设置接收函数、打开
串口
资源、关闭
串口
资源,
操作
完成后,一定要关闭
串口
、接收
串口
数据事件、接收数据出错事件、获取当前全部
串口
、把字节型转换成十六进制字符串等功能。这个
串口
类已经过了调试,可以使用,相关C#代码如下: using System; using System.Collections.Generic; using System.Text; using Sy
C#
111,129
社区成员
642,540
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章