C#串口发送数据问题,字节数组

未知昵称 2017-11-23 06:08:53
private void bntSendFile_Click(object sender, EventArgs e)
{
string fileName = txtFileName.Text.Trim();
if (fileName == "")
{
MessageBox.Show("请选择要发送的文件!", "Error");
return;
}
else
{
sRead = new StreamReader(fileName,Encoding.Default);//解决中文乱码问题
}
timer1.Start();
}
//发送文件时钟
private void timer1_Tick(object sender, EventArgs e)
{
string str1;
str1 = sRead.ReadLine();
if (str1 == null)
{
timer1.Stop();
sRead.Close();
MessageBox.Show("文件发送成功!", "C#串口通讯");
this.toolStripStatusLabel5.Text = "";
return;
}
byte[] data = Encoding.Default.GetBytes(str1);
sp.Write(data, 0, data.Length);
this.toolStripStatusLabel5.Text = " 文件发送中...";
}


以上是一段串口发送一个文件里面的内容。
现在需求如下,,,
现在想把文件的内容按照字节分数组,temp[0],temp[1],temp[2]..........
每个数组里面存放258个字节的内容。其中前两个字节是固定的

temp[0]={0xFF+0xB5+256字节_0},
确认收到回复FF B5 开始发送下一个temp[1]
temp[1]={0xFF+0xB6+256字节_1},
确认收到回复FF B6 开始发送下一个temp[2]
temp[2]={0xFF+0xB5+256字节_2},
确认收到回复FF B5 开始发送下一个temp[3]
temp[3]={0xFF+0xB6+256字节_3}
确认收到回复FF B6 开始发送下一个temp[4]
temp[4]={0xFF+0xB6+256字节_4}
...............................................
直到所有文里面的所有字节内容发送完毕。结束。
...全文
1175 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
未知昵称 2017-11-24
  • 打赏
  • 举报
回复
引用 2 楼 guanyinsishengzi 的回复:
str1 = sRead.ReadLine(); byte[] data = Encoding.Default.GetBytes(str1); 这两句,文件每一行都是256个字节? 完全没必要用计时器 用sRead.ReadToEnd全部读出来 ,然后再用指定编码转换为byte[],然后把byte[]分组发送
分组发送我知道,关键是前面再加上固定的字节,还有收到回复,再发送下一个。
guanyinsishengzi 2017-11-24
  • 打赏
  • 举报
回复
str1 = sRead.ReadLine(); byte[] data = Encoding.Default.GetBytes(str1); 这两句,文件每一行都是256个字节? 完全没必要用计时器 用sRead.ReadToEnd全部读出来 ,然后再用指定编码转换为byte[],然后把byte[]分组发送
未知昵称 2017-11-24
  • 打赏
  • 举报
回复
没人吗??????????

110,538

社区成员

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

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

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