社区
C#
帖子详情
SerialPort 的 readLine的时候不能继续往下执行
john_jia
2007-12-28 10:58:48
我在调试的时候SerialPort 的 readLine的时候不能继续往下执行。
在ReadLine的时候停止不动了。
这是为什么呢?
...全文
252
9
打赏
收藏
SerialPort 的 readLine的时候不能继续往下执行
我在调试的时候SerialPort 的 readLine的时候不能继续往下执行。 在ReadLine的时候停止不动了。 这是为什么呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ddwhome
2008-07-11
打赏
举报
回复
我的也一样,如果没有设置超时,程序就会锁死.而且我的DataReceived事件也不会执行.
Lvgdq
2007-12-28
打赏
举报
回复
恩,我正在调试...有问题一起讨论嘛,这方面我菜鸟...最近项目里用到才开始学的。
john_jia
2007-12-28
打赏
举报
回复
你超时的话。把超时时间设置长点
Lvgdq
2007-12-28
打赏
举报
回复
那我也不知道是怎么回事,要不楼主你这样初始化一下。
SerialPort serialPort1= new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
因为我看你的serialPort1里面奇偶效验位这些都没有设置
john_jia
2007-12-28
打赏
举报
回复
没任何提示。
Lvgdq
2007-12-28
打赏
举报
回复
恩,这个程序我也用过。也是在那里卡住的。不过我是抛出的超时异常,所以我估计我是因为串口数据没传过来的原因。如果你是两台机子连上串口进行数据传输的话,我就不知道为什么了...
另外,卡住了程序应该会有提示报错这些吧?
john_jia
2007-12-28
打赏
举报
回复
没提示超时。就是停着不动了。
我目前测试的是字符串的传输。
发送端:
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Open();
byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);
string str = Convert.ToBase64String(data);
serialPort1.WriteLine(str);
serialPort1.WriteLine("");
MessageBox.Show("数据发送成功!", "系统提示");
serialPort1.Close();
接收端:
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(S));
t.Start();
}
private void S()
{
try
{
serialPort1.PortName = "COM1";
serialPort1.BaudRate = 9600;
serialPort1.Open();
byte[] data = Convert.FromBase64String(serialPort1.ReadLine());
textBox1.Text = Encoding.Unicode.GetString(data);
serialPort1.Close();
MessageBox.Show("数据接收成功!", "系统提示");
}
catch (Exception exx)
{
MessageBox.Show(exx.Message);
}
}
但是到readline的时候就没反应了。
Lvgdq
2007-12-28
打赏
举报
回复
是不是提示超时异常?
LZ你读什么样的串口信息?我也遇到了这个问题还没解决...
john_jia
2007-12-28
打赏
举报
回复
不知道为什么我的DataReceived没执行
串口异步通讯类
Se
ria
l
Port
这样在等待数据到达时,程序仍能
继续
执行
其他任务。 3. **数据读写**:`
Se
ria
l
Port
`类提供了`Write()`方法用于发送数据到串口,`Read()`方法用于接收数据。同时,还有`WriteLine()`、`
ReadLine
()`等方法,方便处理...
backgroundworker
se
ria
l
port
通常,在`DoWork`事件处理程序中
执行
`
Se
ria
l
Port
`的读写操作,而在`RunWorkerCompleted`事件中处理通信结果或异常。如果需要更新UI,例如显示通信进度或结果,可以利用`Re
port
Progress`方法配合`ProgressChanged`...
VC++
Se
ria
l
Port
类 串口调试程序vs2013工程
在这个"VC++
Se
ria
l
Port
类串口调试程序vs2013工程"中,我们将探讨如何在Visual Studio 2013环境下使用
Se
ria
l
Port
类进行串口通信的开发。 首先,让我们了解什么是
Se
ria
l
Port
类。
Se
ria
l
Port
是.NET Framework中System....
Se
ria
l
Port
串口相关的类
- **读取数据**:通过`
Se
ria
l
Port
.
ReadLine
()`或`
Se
ria
l
Port
.ReadBytes()`方法读取串口接收到的数据。`
ReadLine
`适用于读取以换行符分隔的数据,而`ReadBytes`则允许读取指定长度的字节。 - **写入数据**:使用`...
se
ria
l
port
简易例程
"
se
ria
l
port
简易例程"是一个帮助开发者理解和应用串行通信的实用教程,通过"
Se
rail
Port
Solution"压缩包中的资源,你可以学习到C#环境下如何使用
se
ria
l
port
进行设备通信。掌握这些技能,对于进行硬件交互和系统集成...
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章