C#中SerialPort用ReadExisting()接收数据,字符值在0x80到0xff之间字符被自动转化为0x3f,请问这个怎么处理 因为一次接收的串口数据长度是不固定的,所以感觉用同步读取不太好用,而ReadExisting()和ReadLine()返回值都是string,字符串中0x80到0xff之间对应的字符数据都被自动转化为0x3f,求教各位这个怎么处理。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 0x3f 是 ? 的ASCII 码值不知道你是用什么方法将 byte[] 转换成 string 的 原来是数据溢出了,char的范围最大值是0x7F即127,问题就出在这里。这样执行串口读取操作就可以了: len =sPort->BytesToRead; for(i=0;i<len;i++) { Recieve_Data[Recieve_Count++] = this->sPort->ReadByte(); } 高分请求小偷采集数据专家进来指点 如何取表格中控件的值? iis6 thinkphp 配置 (急) 如何在pictruebox的基础上绘制半透明图像,背景为该pictruebox,而不是底层的Form 百分求助,一个关于导出excel的问题 帮助文档为何显示不出 急求打印窗体的问题,在线等!解决即结贴 怎样来获取网络适配器的显示名称(比如:本地连接),还有获取网络适配器的速度. 面试题大家都来看看 在线等急~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 高手请进,简单问题 c#写上位机,将串口接收的数据存入csv文件 求助使用Aforge实现腐蚀膨胀开运算闭运算等基本图像处理操作
不知道你是用什么方法将 byte[] 转换成 string 的
len =sPort->BytesToRead;
for(i=0;i<len;i++)
{
Recieve_Data[Recieve_Count++] = this->sPort->ReadByte();
}