嵌入式爱好者

查看: 13582|回复: 12

串口使用问题

[复制链接]

15

主题

27

帖子

45

积分

AM335x通行证

扫一扫,手机访问本帖
发表于 2012-4-24 11:03:41 | 显示全部楼层 |阅读模式
今天使用开源项目(android-serialport-api)来实现控制串口,始终在开发板上报错(串口应用程序因异常关闭),使用logcat有如下打印:
10-31 12:59:18.250: I/PackageParser(83): android_serialport_api.sample: compat added android.permission.WRITE_EXTERNAL_STORAGE android.permission.READ_PHONE_STATE
10-31 12:59:18.260: I/PackageManager(83): Unpacking native libraries for /data/app/android_serialport_api.sample-1.apk
10-31 12:59:18.470: I/PackageManager(83): Linking native library dir for /data/app/android.serialport.sample-1.apk
10-31 13:39:21.790: I/ActivityManager(83): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=android.serialport.sample/.MainMenu } from pid 152
10-31 13:39:22.060: I/ActivityManager(83): Start proc android.serialport.sample for activity android.serialport.sample/.MainMenu: pid=426 uid=10039 gids={}
10-31 13:39:23.520: I/ActivityManager(83): Displayed android.serialport.sample/.MainMenu: +1s496ms
10-31 13:39:28.970: I/ActivityManager(83): Starting: Intent { cmp=android.serialport.sample/.SerialPortPreferences } from pid 426
10-31 13:39:29.120: W/ApplicationContext(426): Attempt to read preferences file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml without permission
10-31 13:39:29.150: D/SerialPort(426): Found new driver: /dev/s3c2410_serial
10-31 13:39:29.220: D/SerialPort(426): Found new device: /dev/s3c2410_serial0
10-31 13:39:29.220: D/SerialPort(426): Found new device: /dev/s3c2410_serial1
10-31 13:39:29.220: D/SerialPort(426): Found new device: /dev/s3c2410_serial2
10-31 13:39:29.220: D/SerialPort(426): Found new device: /dev/s3c2410_serial3
10-31 13:39:29.690: I/ActivityManager(83): Displayed android.serialport.sample/.SerialPortPreferences: +679ms
10-31 13:39:33.670: E/ApplicationContext(426): Couldn't rename file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml to backup file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml.bak
10-31 13:39:36.830: I/InputQueue-JNI(426): Sending finished signal for input channel '4082b788 android.serialport.sample/android.serialport.sample.SerialPortPreferences (client)' since it is being unregistered while an input message is still in progress.
10-31 13:39:36.990: E/ApplicationContext(426): Couldn't rename file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml to backup file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml.bak
10-31 13:39:49.040: E/ApplicationContext(426): Couldn't rename file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml to backup file /data/data/android.serialport.sample/shared_prefs/android.serialport.sample_preferences.xml.bak
10-31 13:39:51.700: I/ActivityManager(83): Starting: Intent { cmp=android.serialport.sample/.ConsoleActivity } from pid 426
10-31 13:39:51.820: W/dalvikvm(426): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Landroid/serialport/SerialPort;
10-31 13:39:51.850: E/AndroidRuntime(426):         at android.serialport.sample.Application.getSerialPort(Application.java:46)
10-31 13:39:51.850: E/AndroidRuntime(426):         at android.serialport.sample.SerialPortActivity.onCreate(SerialPortActivity.java:78)
10-31 13:39:51.850: E/AndroidRuntime(426):         at android.serialport.sample.ConsoleActivity.onCreate(ConsoleActivity.java:33)
10-31 13:39:51.850: E/AndroidRuntime(426): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load serial_port: findLibrary returned null
10-31 13:39:51.850: E/AndroidRuntime(426):         at android.serialport.SerialPort.<clinit>(SerialPort.java:83)
10-31 13:39:51.890: W/ActivityManager(83):   Force finishing activity android.serialport.sample/.ConsoleActivity
10-31 13:39:51.890: W/ActivityManager(83):   Force finishing activity android.serialport.sample/.MainMenu
10-31 13:39:52.410: W/ActivityManager(83): Activity pause timeout for HistoryRecord{4087ab60 android.serialport.sample/.ConsoleActivity}
10-31 13:39:54.240: I/ActivityManager(83): Process android.serialport.sample (pid 426) has died.
10-31 13:39:54.250: E/InputDispatcher(83): channel '4085bc08 android.serialport.sample/android.serialport.sample.MainMenu (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
10-31 13:39:54.250: E/InputDispatcher(83): channel '4085bc08 android.serialport.sample/android.serialport.sample.MainMenu (server)' ~ Channel is unrecoverably broken and will be disposed!
10-31 13:39:54.310: I/WindowManager(83): WIN DEATH: Window{4085bc08 android.serialport.sample/android.serialport.sample.MainMenu paused=true}
10-31 13:40:02.900: W/ActivityManager(83): Activity destroy timeout for HistoryRecord{407f82f8 android.serialport.sample/.MainMenu}
10-31 13:40:02.950: W/ActivityManager(83): Activity destroy timeout for HistoryRecord{4087ab60 android.serialport.sample/.ConsoleActivity}
请版主指导一下是什么原因造成了不能使用,同时还有几个问题问一下:
1、我使用pm命令来安装我的.apk,安装文件的位置在什么地方,那我在终端使用什么命令来卸载这个程序?
2、在ok6410上我们看到几个串口号同时存在,请问一下版主ok6410的A板是用的哪一个口?
这些问题很繁琐,还望版主谅解与解答,谢谢!
回复

使用道具 举报

15

主题

153

帖子

152

积分

发表于 2012-4-24 16:08:22 | 显示全部楼层
E/AndroidRuntime(426):         at android.serialport.sample.Application.getSerialPort(Application.java:46)
你试试这个方法:
1.重新安装apk到开发板(你不需要卸载,直接安装,如果提示是否覆盖,你选“是”)。
2.重新在终端增加serial权限(chmod 777 s3c2410serial*)
3.拔掉你的usb线。(记住,一定要拔掉usb线。为什么要拔掉?你可以看一下相关资料)
4.将串口号设置为serial0,波特率115200。
5.点console按键.如果弹出串口界面,恭喜你,成功了。
回复 支持 反对

使用道具 举报

15

主题

27

帖子

45

积分

AM335x通行证

 楼主| 发表于 2012-4-24 16:41:40 | 显示全部楼层
回复 2# 邓维安
你好,非常感谢你的回复,在这个操作过程中我遇到几个问题:
1、当我再次安装我的串口apk时,出现错误:
/ # pm install /sdcard/MainMenu.apk
        pkg: /sdcard/MainMenu.apk
Failure [INSTALL_FAILED_ALREADY_EXISTS]
/ #

2、当我拔掉USB,更改了串口的权限,配置好串口的参数,再次打开,在开发板上有提示:串口程序异常关闭
3、我在开发板上运行adb,提示没有找到这个命令,我该怎么来配置我的开发板
谢谢,还望指导一下
回复 支持 反对

使用道具 举报

15

主题

153

帖子

152

积分

发表于 2012-4-24 17:29:20 | 显示全部楼层
MainMenu.rar (21.81 KB, 下载次数: 34)
回复 支持 反对

使用道具 举报

15

主题

153

帖子

152

积分

发表于 2012-4-24 17:35:37 | 显示全部楼层
补充一下,终端是window自带的“超级终端”,不是什么adb工具哦,
回复 支持 反对

使用道具 举报

15

主题

27

帖子

45

积分

AM335x通行证

 楼主| 发表于 2012-4-25 15:42:46 | 显示全部楼层
回复 4# 邓维安
非常感谢你详细的指导,根据你的操作步骤,我已经解决了这个问题,非常感谢!
同时,我还有一个问题想请教一下,我在安装.apk模块的时候,使用的安装方法是:pm install myTst.apk
我卸载这个模块的方法是:pm uninstall myTst.apk,但是开发板反馈给我的信息老是Failed,不知道这个问题是什么引起的,有什么
比较好的解决办法,谢谢!
回复 支持 反对

使用道具 举报

15

主题

153

帖子

152

积分

发表于 2012-4-26 08:44:02 | 显示全部楼层
安装apk,建议你使用安装工具,比如eclipse,91助手,豌豆夹,apk安装器这些工具。不要自已用adb命令安装,因为这样会导致很多不必要安装错误。
卸载工具,你可以直接在“设置”——“应用程序”——管理应用程序,中直接卸载,你也不要用什么pm uninstall命令。
因为你在开发的时候adb经常会由于你的usb调试而无法通讯。所以你会常常遇到无法卸载和安装的现象。
回复 支持 反对

使用道具 举报

15

主题

27

帖子

45

积分

AM335x通行证

 楼主| 发表于 2012-4-26 11:28:26 | 显示全部楼层
回复 7# 邓维安
谢谢你的指导!
还有一个问题想请教一下:
我通过应用程序管理来删除我的MainMenu.apk,但是我在其管理环境下,并没有卸载的选项,同时其呈现的两个按钮都是灰色,不知道这是为什么,还请指导一下!
谢谢!
回复 支持 反对

使用道具 举报

风来 该用户已被删除
发表于 2012-4-26 17:16:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

always5 该用户已被删除
发表于 2012-4-26 17:48:46 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

风来 该用户已被删除
发表于 2012-4-26 18:37:34 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

always5 该用户已被删除
发表于 2012-4-26 20:12:14 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

15

主题

153

帖子

152

积分

发表于 2012-4-28 17:42:01 | 显示全部楼层
回复 9# 风来

你查下数据转换有问题,要确定你接收端的数据类型与发射端一致,比如你在android中定义string test接收,你必需在发射端定义string型,也就是char型。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-1-8 20:27

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表