serialPort1.Read(buff, 0, serialPort1.BytesToRead);
serialPort1.DiscardInBuffer();
string str = Encoding.Default.GetString(buff);
Invoke((new Action(() =>
{
if (checkBox1.Checked)
{
textBox1.AppendText(byteToHexStr(buff));
}
else
{
textBox1.AppendText(Encoding.Default.GetString(buff));
}
switch (ReadFlag)
{
case 0:
textBox16.Text += "Send:" + Convert.ToInt16(buff).ToString();
button = buff[3] << 8 | buff[4];//开关
textBox4.Text = Convert.ToInt16(button).ToString();
textBox16.Text= Convert.ToInt16(button).ToString(); break;
标红的语句为什么会报无法将类型为“System.Byte[]”的对象强制转换为类型“System.IConvertible这个异常呢。我想要输出串口返回的数据要怎么做呢
博客内容涉及串口通信的读取操作,通过serialPort1.Read方法读取数据并使用Encoding.Default.GetString进行转换。在尝试将字节数组强制转换为IConvertible类型时遇到错误。解决方案可能涉及到检查数据类型和转换过程的正确性。同时,代码展示了根据接收到的数据更新UI元素和解析特定数据字段的逻辑。
4917

被折叠的 条评论
为什么被折叠?



