c# 用serialport 向单片机发送字符串怎么多了个点 5

我用的writeline函数需要向单片机发送字符串,但是发送比如要发送“123”,发送下去就成了“1.2.3.”,求解怎么才能成“123”让发送下去的,才接触C#几天。。... 我用的writeline函数需要向单片机发送 字符串,但是发送比如要发送“123”,发送下去就成了“1.2.3.”,求解 怎么才能成“123”让发送下去的,才接触C#几天。。。 展开
 我来答
德昂当
2015-02-06 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:754万
展开全部
你这个问题,应该是字符集选用的 unicode,每个字符占两个字节。

我不懂C#,但是在VC中,项目的属性中有个设置字符集的选项,把项目的字符集设为 “使用多字节字符集”就好了。
追问
byte[] data = Encoding.Default.GetBytes(richTextBox2.Text);
serialPort1.Write(data,0,data.Length);
这样写了下就可以发字符串了但是还不是很懂。。
追答
这是编码方式的不同,我们平时认为的 字符'1'的直值就是它的 ASCII码 0x31只占一个字节。但是你的程序编辑器可能用的编码方式并不是这种,它一个字符占用两个字节。

Encoding.Default.GetBytes是C#的一个编码器,把别的码转换成系统默认的编码方式。
Sxzy灬丨小柒
2015-02-06 · TA获得超过623个赞
知道小有建树答主
回答量:1223
采纳率:50%
帮助的人:278万
展开全部
把发送代码贴一下.
更多追问追答
追问
serialPort1.WriteLine("123");
追答
serialPort1.Write("123"); 用这个就行.
你先别让串口设备中发.
用USR-TCP232-Test串口调试工具试试,看看发送出来的是不是123
然后再确定问题在程序还是设备中.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2015-02-06 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4954万
展开全部
需要给你写一份吗
更多追问追答
追问
需要啊。
追答
需要定做可以丘上说
我id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式