• «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go
主题 : 串口读数据时,read()函数怎么用? 复制链接 | 浏览器收藏 | 打印
学无止境
级别: 新手上路
UID: 41406
精华: 0
发帖: 38
金钱: 190 两
威望: 38 点
综合积分: 76 分
注册时间: 2011-03-29
最后登录: 2011-10-15
10楼  发表于: 2011-06-09 12:02

 回 7楼(life173) 的帖子

恩 非常感谢   我也发现了这个 上午弄出来了 但结果发现是错码 进一步研究中
级别: 侠客
UID: 42175
精华: 0
发帖: 75
金钱: 375 两
威望: 75 点
综合积分: 150 分
注册时间: 2011-04-05
最后登录: 2012-01-30
11楼  发表于: 2011-06-09 12:52

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

嗯嗯,你很好很强大啊
学无止境
级别: 新手上路
UID: 41406
精华: 0
发帖: 38
金钱: 190 两
威望: 38 点
综合积分: 76 分
注册时间: 2011-03-29
最后登录: 2011-10-15
12楼  发表于: 2011-06-09 21:57

 回 7楼(life173) 的帖子

我把程序像你说的改过后,数据是有了,但却是一些不知所谓的乱码。我从调试工具发1234过来,结果str1值为49505152,发abcd过来结果str1值为979899100,然后再str=str1.tostring()后str值为 【B@4725cf0    而且每次把相同的str1 tostring后都得到不同的值,只有前面的【B@4是一样的,后面几位都不同。。。完全的晕了
级别: 侠客
UID: 42175
精华: 0
发帖: 75
金钱: 375 两
威望: 75 点
综合积分: 150 分
注册时间: 2011-04-05
最后登录: 2012-01-30
13楼  发表于: 2011-06-09 22:01

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

那是因为你没有清楚之前的数据,你查查linux的串口驱动怎么清楚数据的函数就可以的了。我那时候也是搞了那个清除很久的。
学无止境
级别: 新手上路
UID: 41406
精华: 0
发帖: 38
金钱: 190 两
威望: 38 点
综合积分: 76 分
注册时间: 2011-03-29
最后登录: 2011-10-15
14楼  发表于: 2011-06-09 22:17

 回 13楼(fll8888) 的帖子

我这个情况还没到你那一步,我第一次发数据来就是乱码,你是已经能接受数据正确形式后出现的错乱情况啊
级别: 侠客
UID: 42175
精华: 0
发帖: 75
金钱: 375 两
威望: 75 点
综合积分: 150 分
注册时间: 2011-04-05
最后登录: 2012-01-30
15楼  发表于: 2011-06-10 08:57

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

是的,我第一次不会接受的到乱码。你检查一下那里出的问题。
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
16楼  发表于: 2011-06-10 10:03

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

会不会是端口参数设置的问题,两边设置需要一样才行,int openSerialPort(String devName,long baud,int dataBits,int stopBits ),里面有波特率,数据位,停止位,两边都需要一样,不然有可能出现数据不准的情况~
级别: 侠客
UID: 42175
精华: 0
发帖: 75
金钱: 375 两
威望: 75 点
综合积分: 150 分
注册时间: 2011-04-05
最后登录: 2012-01-30
17楼  发表于: 2011-06-10 10:08

 回 16楼(life173) 的帖子

这个就要楼主慢慢查找原因了。
级别: 新手上路
UID: 42212
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
综合积分: 84 分
注册时间: 2011-04-06
最后登录: 2012-03-25
18楼  发表于: 2011-06-10 10:13
seri.read(fd, str1, 300);
String str=str1.toString();
myView.setText(str);

这段应该有问题,byte[]转到string,不能用toString()这个函数吧,你改下这样试试:
int len = seri.read(fd, str1, 300);
String str = new String(str1,0,len);
myView.setText(str);
学无止境
级别: 新手上路
UID: 41406
精华: 0
发帖: 38
金钱: 190 两
威望: 38 点
综合积分: 76 分
注册时间: 2011-03-29
最后登录: 2011-10-15
19楼  发表于: 2011-06-10 10:59

 回 18楼(life173) 的帖子

恩 这个你说的这样,这样子就没有乱码了。爱死你了!灰常感谢呀,这个终于解决了
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go