C#,serialPort接收16进制问题。

XL627957378 2016-01-07 06:11:06
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
int buffersize = 6; //十六进制数的大小(假设为6byte)
byte[] buffer = new byte[buffersize]; //创建缓冲区
serialPort1.Read(buffer, 0, buffersize); //从com1读取
string ss;
ss = byteToHexStr(buffer); //用到函数byteToHexStr
textBox1.Text = ss;
}

这样我在串口用16进制发送12 34 56 78 收到的是123456780000

要怎样改程序才能收到1个字节两个数字的16进制 然后把0去掉 (比如收到12 34 56 78) 也就是几个一个字节的16进制数 用空格隔开. 谢谢了!!!!
...全文
636 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lfqsy 2016-01-08
  • 打赏
  • 举报
回复
收到的就只有4个字节,你非要写6个,后面2个就肯定00了
panliuwen 2016-01-08
  • 打赏
  • 举报
回复
byteToHexStr这个函数的代码贴一下

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧