串口通讯死机的问题

wl0326 2012-10-17 10:44:42
各位大侠,我在和下位机进行通信的过程中遇到这样一个问题,就是数据在发送到的过程中会突然不在发送,程序好像死了一样不在执行,下面是我的程序
fslist.Clear();
fslist.Add(0x7E);
fslist.Add(0x45);
fslist.Add(0x16);
byte d1 = (byte)(zdfs_count / 256);
byte d2 = (byte)(zdfs_count % 256);
fslist.Add(d1);
fslist.Add(d2);
int[] num = new int[10];
double[] num1 = new double[10];
for (int i = 0; i < 10; i++)
{
num[i] = Convert.ToInt32(Math.Round(Chattering_Value[zdfs_count * 10 + i] +0.1)* 5.12);
}
for (int i = 0; i < 10; i++)
{
byte d3 = (byte)(num[i] / 256);//定义数据的高八位
byte d4 = (byte)(num[i] % 256);//定义数据的低八位
fslist.Add(d4);
fslist.Add(d3);
}
jy_shuju = 0;
for (int i = 0; i < fslist.Count; i++)
{
jy_shuju ^= (byte)fslist[i];
}
fslist.Add(jy_shuju);
List<byte> buf = new List<byte>();//填充到这个临时列表中
byte b;
//依次添加到列表中
try
{
for (int i = 0; i < fslist.Count; i++)
{
b = (byte)fslist[i];
try
{
buf.Add(byte.Parse(b.ToString("X2"), System.Globalization.NumberStyles.HexNumber));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

if (comm.IsOpen != true)
{
Init();
}
try
{

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
t8.Start();
comm.Write(buf.ToArray(), 0, buf.Count);
}

builder.Clear();
byte b1;
for (int i = 0; i < buf.Count; i++)
{
b1 = (byte)buf[i];
try
{
builder.Append(b1.ToString("X2") + " ");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}
string str = builder.ToString();
byte[] byteText = System.Text.Encoding.Default.GetBytes(str);
//this.richTextBox1.Clear();
this.richTextBox1.AppendText(str + "\r\n");
builder.Clear();
buf.Clear();
就是程序在执行 comm.Write(buf.ToArray(), 0, buf.Count);之后会突然死掉,不再发送数据,我明明在这之前启动了t8定时器,就是每隔三秒若没有回复会重新发送数据,但发现程序死后这条也不执行了,而文本框中已显示执行了comm.Write(buf.ToArray()这一条语句的内容,然后就死掉了 ,请各位高手指点一下为什么会这样,小弟是初学者,甚是找不到北,望各位牛人能给予菜鸟一些详细指点,在此感激不尽了。
...全文
307 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
缭绕飘渺 2012-10-18
  • 打赏
  • 举报
回复
我只能说楼主的代码写的真的无语
你自己再跟下吧
错误我就不说了
知擎物联 2012-10-18
  • 打赏
  • 举报
回复
 code=C#

用这样的方式插入代码内容不行么,你这样贴纯文本,看着就累。

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧