c# 读取串口数据的显示

stringserialReadString;privatevoidserialPort1_DataReceived(objectsender,System.IO.Por... string serialReadString;
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialReadString=serialPort1.ReadExisting();
this.rTB_receive.Invoke
(
new MethodInvoker
(delegate
{
this.rTB_receive.AppendText(serialReadString);
}
)
);
}
rTB_receive是textbox

比如说我发送的是16进制的132 但是我显示到textbox上的却是ascll码 132超出了ascll码的值范围 就乱码了比如说我发送的是16进制的132
展开
 我来答
styshoo1986
2012-04-20 · TA获得超过893个赞
知道小有建树答主
回答量:832
采纳率:100%
帮助的人:264万
展开全部
建议用SerialPort.Read 这个方法,这个是导入到一个byte数组,后面怎么显示你可以再处理。

ReadExisting返回的是字符串,但是很可能发送端和接收端要处理的字符编码不同,也会显示乱码。
更多追问追答
追问
Read方法不是读一个字符么
追答
public int Read(
byte[] buffer,
int offset,
int count
)
不是啊,这是一个数组啊,详细看下 msdn吧。
参数
buffer
类型:array[]()[]

将输入写入到其中的字节数组。

offset
类型:System..::.Int32

缓冲区数组中开始写入的偏移量。

count
类型:System..::.Int32

要读取的字节数。

返回值
类型:System..::.Int32

读取的字节数。
来自:求助得到的回答
gu72540
2012-04-20
知道答主
回答量:6
采纳率:0%
帮助的人:3.6万
展开全部
学习
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七终多E
2012-04-20 · TA获得超过1.4万个赞
知道大有可为答主
回答量:3756
采纳率:46%
帮助的人:3438万
展开全部
读取的时候用读byte[]的方法读
追问
能不能说的详细点呢  跪求
追答
int len = this.serialPort1.ReadBufferSize;

byte[] buf = new byte[len];

this.serialPort1.Read(buf,0,len);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式