主题 : 关于串口发数据 复制链接 | 浏览器收藏 | 打印
学无止境
级别: 新手上路
UID: 41406
精华: 0
发帖: 38
金钱: 190 两
威望: 38 点
综合积分: 76 分
注册时间: 2011-03-29
最后登录: 2011-10-15
楼主  发表于: 2011-08-28 19:25

 关于串口发数据

我在串口发数据的时候,定义byte[] b1={1,2,3,1,0,2} 然后用write()函数发送发不出去 。在调试工具中显示空白 好像有发过去,因为调试窗口有空格。但是我用一下方法却能正确发送:
String str = “123102”;
byte[] b1 = str.getBytes();
再用write()发送

这样能正确显示。不知何解?忘大大们指点
学无止境
级别: 新手上路
UID: 41406
精华: 0
发帖: 38
金钱: 190 两
威望: 38 点
综合积分: 76 分
注册时间: 2011-03-29
最后登录: 2011-10-15
1楼  发表于: 2011-08-28 21:45

 回 楼主(风月连城) 的帖子

不能沉下去啊 赶紧来个人指点迷津吧
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
2楼  发表于: 2011-08-30 09:32
byte[] b1={1,2,3,1,0,2}  直接打印是不能显示的
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
3楼  发表于: 2011-09-02 13:10
byte[] b1={1,2,3,1,0,2};这个发送出去的,不是“123102”的asc码,打印出来的应该是asc码1,2,3,1,0,2对应的字符,可能是空的或不能显示的。

byte[] b1={49,50,51,49,48,50};发送这个试试~