热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android的串口通信

请问大家有没有写过AndRoid串口通信程序,给贴点代码,多谢了。
请问大家有没有写过AndRoid串口通信程序,给贴点代码,多谢了。

44 个解决方案

#1


我正在搞这个东西,但是一头雾水哟
真的是。。。

#2


帮顶顶

#3


android有串口吗?现在手机都不用串口了吧?都是usb,
你是在用gsm modern 吗? 

#4


串口是开发的时候用来调试的,一般开发板都有

#5


用jni可以实现串口的通信,但是我只能实现写串口,但是不能读串口哟,真的是烦。

#6


这里http://code.google.com/p/android-serialport-api/有个可读写串口的API。
我下下来在模拟器上试了一下,一直出现这样的错误:“you do not hava read/write permission to the serial port”.谁知道什么原因吗?为啥没权限,代码里面已经有: "chmod 666 " + device.getAbsolutePath() + "\n"这句了。

#7


这里http://code.google.com/p/android-serialport-api/有个可读写串口的API。
我下下来在模拟器上试了一下,一直出现这样的错误:“you do not hava read/write permission to the serial port”.谁知道什么原因吗?为啥没权限,代码里面已经有: "chmod 666 " + device.getAbsolutePath() + "\n"这句了。

#8


引用 7 楼 elia2008 的回复:
这里http://code.google.com/p/android-serialport-api/有个可读写串口的API。
我下下来在模拟器上试了一下,一直出现这样的错误:“you do not hava read/write permission to the serial port”.谁知道什么原因吗?为啥没权限,代码里面已经有: "chmod 666 " + device.getAbso……


我在手机上试了下,开始提示you do not hava read/write permission to the serial port,chmod 777 后可以执行

#9


To zcpangzi:
请问您在哪修改呀,我是修改了这句代码:
String cmd = "chmod 777 " + device.getAbsolutePath() + "\n"
+ "exit\n";
依然是没有读写权限,难道是模拟器上不支持?

#10


权限问题一般是AndroidManifest.xml下面配置, 估计要允许修改硬件权限之类的,先查查吧

#11


在 cmd 下 输入 adb shell 

进入 terminal 

chmod 777 /dev/ttyS0 就可以了。

#12


顶楼上的

#13


串口通讯啥问题?挺简单的说。

#14


关注 学习

#15


帮忙顶一下

#16


该回复于2011-01-20 16:13:40被版主删除

#17


to elia2008

大侠,我只能下载它的apk文件,所以没有办法修改
String cmd = "chmod 777 " + device.getAbsolutePath() + "\n"+ "exit\n";
请问你是如何把它的整个文件下下来的额。
谢谢!

#18


该回复于2011-03-30 17:40:09被版主删除

#19


引用 11 楼 fengqve 的回复:
在 cmd 下 输入 adb shell 

进入 terminal 

chmod 777 /dev/ttyS0 就可以了。


能不能说说这个程序都有什么功能,这几个按钮都做了什么工作,哪个是读数据的?

#20


还有,pc机上的com1口,在android模拟器中对应哪个?

#21


android支持USB转串的吗?如果支持,驱动到那里下

#22


持续关注中, 希望有高手解答

#23


mark

#24


我也在烦这个没有权限的问题:有两个方安案。

1、是adb -s [***] shell           chmod 777 /dev/ttys0
2、修改init.rc 这个文件。。。。。希有人能把这个文件修改的方法贴出来。帮大家解决这个问题。

#25


引用 8 楼 zcpangzi 的回复:
引用 7 楼 elia2008 的回复:
这里http://code.google.com/p/android-serialport-api/有个可读写串口的API。
我下下来在模拟器上试了一下,一直出现这样的错误:“you do not hava read/write permission to the serial port”.谁知道什么原因吗?为啥没权限,代码里面已经有: "chmod ……

请问你在哪修改的?
我只能下载apk文件

#26


回复6楼:

1·要重新编APK文件       

工程copy到NDK的samples中, 修改jni下的SerialPort.c文件 

其中一行改为open(path_utf,O_RDWR | O_SYNC); 去掉中间选项

重新编译生成 ***.apk文件, 装载就行啦!

2·要更改权限

在根目录下init.rc文件的最后添加命令,修改serail_uart0 读写权限。保存,重启reboot。

刚刚搞定,希望对大家有帮助。

#27


我按楼上的方法修改了fd = open(path_utf, O_RDWR | O_SYNC);但是仍然fd返回-1.

#28


回复26楼:
请问你的第一点有什么作用呢?
第二点你是如何通过修改init.rc来修改权限了,在实体机上这个只读文件很困难。
请问你能不能专门说明下

#29


有大牛解决了吗?这个程序可以实现读写串口吗?

#30


这个可以NDK ;就是对LINUX下串口编程加了一个JAVA的封装

#31



比如我的android应用通过NDK+JNI方式去给串口发AT指令

#32


为什么 byte[] buffer = new byte[64];
if (mInputStream == null)
return;
// InputStreamReader ipsr = new InputStreamReader(mInputStream);
// BufferedReader br = new BufferedReader(ipsr);
// String[] str = new String[10];
// int i = 0;
// while (i < 10){
// Log.e("port_TAG", "-->"+i);
// str[i] = br.readLine();
// i++;
// if (i == 10)
// System.out.println("Enough now");
// }
// Log.e("port_TAG", "-->"+str.toString());
// Log.e("port_TAG", "--------------------");
size = mInputStream.read(buffer);
Log.e("port_TAG", "SIZE:" + size);

执行到mInputStream.read(buffer)就不继续往下执行了呢?

#33


引用 19 楼 aloie 的回复:
引用 11 楼 fengqve 的回复:
在 cmd 下 输入 adb shell

进入 terminal

chmod 777 /dev/ttyS0 就可以了。


能不能说说这个程序都有什么功能,这几个按钮都做了什么工作,哪个是读数据的?


谁能解读一下????

#34


我也在做这个东西,大概是这样吧,在模拟器中su -root
然后chomd -777 ttys2
在模拟器中就可以对ttys2进行读写了,但是现在遇到问题就是如何与模拟器的串口进行通信呢?

#35


看来都碰见读不出数据的问题了。谁有解呀,麻烦说说吧

#36


本人重新编译生成 ***.apk文件, 安装完成后,第一个button “SetUp” 配置完串口(ttyS2,57600)。
再点第二个button “Console” 就出现异常,程序挂了。如图:

#37


本人重新编译生成 ***.apk文件, 安装完成后,第一个button “SetUp” 配置完串口(ttyS2,57600)。
再点第二个button “Console” 就出现异常,程序挂了。
求高手指点

#38


引用 35 楼  的回复:
看来都碰见读不出数据的问题了。谁有解呀,麻烦说说吧


解决了没啊,我也困住了

#39


引用 32 楼  的回复:
为什么 byte[] buffer = new byte[64];
if (mInputStream == null)
return;
// InputStreamReader ipsr = new InputStreamReader(mInputStream);
// BufferedReader br = new BufferedReader(ipsr);
/……



我也碰到这样的问题。。谁解决了丫

#40


我也遇到类似地问题。但我是在模拟器上可以实现收发功能,但是在实体机上,就实现不了了。求大神解答

#41


该回复于2012-09-13 10:52:59被版主删除

#42


不知道40楼的你实现了吗?,在android模拟器中的???,能把源码发给我看看吗?邮箱maoxiangxing@126.com

#43


我也在弄这个,一点思路都不会。网上找了资料什么用c语言什么的。有没有高手加我QQ帮指点下啊…………820825987求师傅

#44


現在可以利用一顆IC----FT311D來實現免驅串口通信, 是利用安卓的Android accessory mode 實現, API已寫好, 呼叫就可使用,Q2593281509 james@passiontech.net

推荐阅读
author-avatar
mobiledu2502906891
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有