利用C#向串口按顺序循环发送一条一条指令的问题
3个回答
展开全部
List<byte[]> list=new List<byte[]>();
byte[] bt=new byte[]{0x10,0x22};//第一条指令
list.Add(bt);
bt=new byte[]{0x10,0x22,0xAB};//第二条指令
list.Add(bt);
//重复至第n条
foreach(byte[] b in list)
{
//发送b至串口
}
当然,如果条数固定也可以不用list,用交错数组
byte[][] list = new byte[][]
{
new byte[]{0x10,0x22},
new byte[]{0x11,0x22,0xAB},
new byte[]{0x12,0x22,0xAB}
};
foreach(byte[] b in list )
{
//发送b至串口
}
追问
我是做的winform程序,将指令先放在textbox中的,这个怎么做呢?
追答
// 加一个方法,在textbox你真接填入诸如10 22 AB CD E0就行了
public static byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
{
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
}
return buffer;
}
然后将上面两种方法中的new byte[]{0x10,0x22}改成HexStringToByteArray(textBox1.Text)这种就行了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-04
展开全部
定义指令数组
输出
输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询