C#:就是串口调试,点击radiobutton的时候,text文本框中收到的数据是ASCII形式的数据

 我来答
freeeeeewind
2016-06-23 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1367万
展开全部

1)从SerialPort接收数据

byte[] buff = new byte[1024];
byte[] data = null;
// 返回值byteRead是实际读到字节数量 
int byteRead = serialPort.Read(buff, 0, buff.Length);
if(byteRead > 0)
{
    data = new byte[byteRead];
    Array.Copy(buff, 0, data, 0, byteRead);
}
else //没有读到数据 
{
    //(没有读到数据时的处理)
}

2)点击了“16进制”后的处理

 StringBuilder sb = new StringBuilder();
 foreach(byte b in data) 
 {
     sb.Append(string.Format("{0:x2}", b));
     sb.Append(" ");
 }
 string s = sb.ToString().TrimEnd();
 // 显示16进制格式的数据
 textBox1.Text = s;

3)点击了“字符串”后的处理

string s = 
   System.Text.Encoding.Default.GetString(data, 0, data.Length);
// 按字符串显示   
textBox1.Text = s;

4)点击了“ACSII”后的处理

StringBuilder sb = new StringBuilder();
foreach(byte b in data)
{
    sb.Append(b.ToString());
    sb.Append(" ");
}
string s = sb.ToString().TrimEnd();
// 按ASCII码值显示
textBox1.Text = s;
ghzx071458
2016-06-23 · TA获得超过1416个赞
知道小有建树答主
回答量:651
采纳率:50%
帮助的人:393万
展开全部
请贴上你的代码才好分析你的问题。
更多追问追答
追问
只是要实现这个功能而已,点击按钮,收到ASCII形式数据
因为我这边接收的形式有16进制和字符串形式的,我不知道ASCII形式的接收该怎么写
追答
如果你用的SerialPort类,那么它默认的编码形式就是ASCII编码方式,这个你不用担心。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式