这是我的代码:
private void send_char_0(string R, string G, string B)
{
string r = R;
string g = G;
string b = B;
string strData = null;
int i = 0;
byte[] data_array = new byte[3]{0xff,0xef,0xff};
}
我分别在字符串R,G,B中添加了十六进制值,但是当我通过它们时
byte[] data_array = new byte[3]{R,G,B};
- >错误字符串无法转换为字节。
所以我尝试转换 dataarray [0] = Convert.ToByte(R),即Convert.ToByte(0xff)
- >错误输入字符串格式不正确为0xff。需要有" ff"但我需要传递它作为" oxff"到串口。
任何人都可以帮助我
答案 0 :(得分:0)
您将字符串传递给字节数组。 试试这个:
private void send_char_0(string R, string G, string B)
{
byte r = byte.Parse(R,NumberStyles.HexNumber);
byte g = byte.Parse(G,NumberStyles.HexNumber);
byte b = byte.Parse(B,NumberStyles.HexNumber);
byte[] data_array = new byte[3]{r,g,b};
}
如果这些数据是正确的,您可能需要添加一些检查,因为它来自用户,