c# 用serialport 向单片机发送字符串怎么多了个点 5
我用的writeline函数需要向单片机发送字符串,但是发送比如要发送“123”,发送下去就成了“1.2.3.”,求解怎么才能成“123”让发送下去的,才接触C#几天。。...
我用的writeline函数需要向单片机发送 字符串,但是发送比如要发送“123”,发送下去就成了“1.2.3.”,求解 怎么才能成“123”让发送下去的,才接触C#几天。。。
展开
3个回答
展开全部
你这个问题,应该是字符集选用的 unicode,每个字符占两个字节。
我不懂C#,但是在VC中,项目的属性中有个设置字符集的选项,把项目的字符集设为 “使用多字节字符集”就好了。
我不懂C#,但是在VC中,项目的属性中有个设置字符集的选项,把项目的字符集设为 “使用多字节字符集”就好了。
追问
byte[] data = Encoding.Default.GetBytes(richTextBox2.Text);
serialPort1.Write(data,0,data.Length);
这样写了下就可以发字符串了但是还不是很懂。。
追答
这是编码方式的不同,我们平时认为的 字符'1'的直值就是它的 ASCII码 0x31只占一个字节。但是你的程序编辑器可能用的编码方式并不是这种,它一个字符占用两个字节。
Encoding.Default.GetBytes是C#的一个编码器,把别的码转换成系统默认的编码方式。
展开全部
把发送代码贴一下.
更多追问追答
追问
serialPort1.WriteLine("123");
追答
serialPort1.Write("123"); 用这个就行.
你先别让串口设备中发.
用USR-TCP232-Test串口调试工具试试,看看发送出来的是不是123
然后再确定问题在程序还是设备中.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要给你写一份吗
更多追问追答
追问
需要啊。
追答
需要定做可以丘上说
我id
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询