我尝试Port.Write一个字节变量到一个串口但编译器仍然给我一个错误
无法将字节转换为char []
它看起来使用了错误的重载(char [],int,int)而不是(byte,int,int)。如何强制编译器使用正确的? 这是我的代码:
private void sendbtn_Click(object sender, EventArgs e)
{
byte temp;
temp = (byte) 0x01;
//Wyslij(sndbox.Text);
Wyslij(temp, 0, 1);
}
private void Wyslij(byte buffer, int offset, int count)
{
try { Port.Write(buffer, offset, count); }
#if DEBUG
catch { return; }
#else
catch { MessageBox.Show( "Nie można zapisać do portu\nPrawdopodobnie port jest zamknięty."); }
#endif
}
答案 0 :(得分:3)
没有接受byte
参数的重载。有一个重载接受byte[]
:SerialPort.Write (Byte[], Int32, Int32)
,但您需要重写所有代码。
private void sendbtn_Click(object sender, EventArgs e)
{
byte temp;
temp = (byte)0x01;
//Wyslij(sndbox.Text);
Wyslij(new[] { temp }, 0, 1);
}
private void Wyslij(byte[] buffer, int offset, int count)
{
try { Port.Write(buffer, offset, count); }
#if DEBUG
catch { return; }
#else
catch { MessageBox.Show( "Nie można zapisać do portu\nPrawdopodobnie port jest zamknięty."); }
#endif
}