标题:串口问题
只看楼主
yangdehui
Rank: 1
来 自:湘、江永
等 级:新手上路
帖 子:17
专家分:7
注 册:2011-4-14
结帖率:100%
已结贴  问题点数:20 回复次数:4 
串口问题
C#串口通信,当R232的2-3脚没有连接时,发送数时老是卡死。代码如下
程序代码:
 
private void button1_Click(object sender, EventArgs e)
{
            serialPort1.PortName = "COM1"; 
            serialPort1.BaudRate = 9600;     
            serialPort1.Open();    
            byte[] data = Encoding.Unicode.GetBytes(textBox1.Text);    
            string str = Convert.ToBase64String(data);                 
            serialPort1.WriteLine(str);
            MessageBox.Show("数据发送成功!", "系统提示");
       
           byte[] data = Convert.FromBase64String(serialPort1.ReadLine());
           textBox2.Text = Encoding.Unicode.GetString(data); 
           serialPort1.Close();                             
           MessageBox.Show("数据接收成功!", "系统提示");      

 }
请高手帮解决下这类问题
搜索更多相关主题的帖子: 通信 
2011-05-08 14:31
红色警戒
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:19
帖 子:444
专家分:2967
注 册:2005-11-20
得分:7 
估计是接受不到数据一直处于阻塞状态了吧。一般都编写线程来处理接受数据。

2011-05-08 23:17
zzc0816
Rank: 1
等 级:新手上路
帖 子:61
专家分:7
注 册:2006-9-14
得分:7 
阻塞
还有一个问题,Rs232发送后需要 sleep(300)然后接受。

2011-05-09 10:40
yangdehui
Rank: 1
来 自:湘、江永
等 级:新手上路
帖 子:17
专家分:7
注 册:2011-4-14
得分:0 
回复 3楼 zzc0816
这个问题用代码如何写,望指教。本人是菜鸟一个
2011-05-09 11:55
fily1314
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:166
专家分:1190
注 册:2007-7-18
得分:7 
接收数据的时候不要用realline,因为你2-3脚没接的时候是收不到数据的
一个一个byte去读,判断有没有读到数据
2011-05-09 12:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-339177-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038842 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved