我想用Hi3861的uart串口发送16进制命令(BB 00 22 00 00 22 7E),但是一直不成功
下面代码是C#中将十六进制字符串转换为byte数组,可以成功通信
byte[] array = null;
string text = "BB 00 22 00 00 22 7E ";
text = text.Replace(" ", "");
if (text.Length % 2 == 1)
{
text = text.Remove(text.Length - 1, 1);
}
List<string> list = new List<string>();
for (int i = 0; i < text.Length; i += 2)
{
list.Add(text.Substring(i, 2));
}
array = new byte[list.Count];
for (int j = 0; j < array.Length; j++)
{
array[j] = (byte)Convert.ToInt32(list[j], 16);
}
下图代码是树莓派用Python将字符串转换为16进制,可以成功通信
下图是我C语言中直接用uint_8类型存的16进制并发送,通信失败
请问C语言中该怎么修改才能实现类似于C#和python中的效果并成功通信?