利用C#向串口按顺序循环发送一条一条指令的问题
迪凯特科技(北京)有限公司
2023-07-28 广告
2023-07-28 广告
RS232串行通讯的数据格式包括以下组成部分:1. 起始位:一位,用于表示数据的开始。2. 数据位:通常为8位,但也可以是7位或9位。3. 校验位:可以选择奇偶校验或无校验。4. 停止位:一位,用于表示数据的结束,也可以选择使用1.5个或2...
点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
展开全部
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
展开全部
定义指令数组
输出
输出
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询