基于android平台的串口通信实现

基于android平台的串口通信实现

ID:23184542

大小:59.50 KB

页数:6页

时间:2018-11-05

基于android平台的串口通信实现 _第1页
基于android平台的串口通信实现 _第2页
基于android平台的串口通信实现 _第3页
基于android平台的串口通信实现 _第4页
基于android平台的串口通信实现 _第5页
资源描述:

《基于android平台的串口通信实现 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Android平台的串口通信实现  摘要:串口在数据通信中应用广泛,但AndroidSDK指定使用Java作为第三方应用开发语言,这给C语言实现串口应用带来了困难。虽然GoogleAndroid已经发布了NDK(NativeDevelopmentKit,原生态开发包),支持开发者用C/C++语言开发Android程序,但目前官方提供的技术指导比较简略。通过开发一个Android下串口通信应用实例,详细介绍了AndroidNDK的开发流程,帮助开发人员快速的完成平台搭建。  关键词:Android;ND

2、K;JNI;SDK;串口  SerialmunicationBasedAndroidPlatform  JINZhi-yi,ZHANGJi  (VehicleCollege,TongjiUniversity,Shanghai201804,China)  Abstract:Serialmunicationisunication,buttheAndroidSDKusestheJavalanguageasadesignatedthird-partyapplicationdevelopment,akesitdif

3、ficulttoachieveserialapplicationsentKit)entofserialmunicationunderanAndroidplatformasanapplicationexample,articlegivesathoroughlydescriptionoftheAndroidNDKdevelopmentprocessthatcanhelpdevelopersquicklybuildplatforms.  KeyentKit的简称。它是一个工具集,集成了Android的交叉编译环

4、境,并提供了一套比较方便的Makefile,可以帮助开发者快速开发C或是C++的动态库,并自动的将so动态库和java程序打包成apk,在Android上运行。有两个理由使用NDK:一是合理的重用现有的代码;二是在程序中某些关键的部分提高执行效率。  AndroidNDK目前作为AndroidSDK的一个附加组件提供,开发者须先安装AndroidSDK方可使用NDK。在WindoD的Shell环境界面,可以使用大部分Linux软件和功能。使用它我们可以方便的在WindoacOSX(intel)、Linux

5、32/64(x86),下载后解压即可使用。文中使用Windows版本的NDK,版本为android-ndk-r5。将它解压到某个目录下,文中我们将NDK安装到D:androidandroid-ndk-r5目录中。  2.2安装Cygake1.10、binutils、gcc-core、gcc4-core、gdb、pcre、pcre-devel、GNUae/usrname)的.bash_profile文件,在文件尾部加入如下代码,  NDK=/cygdrive/d/android/android-ndk-

6、r5  exportNDK  然后重新启动Cygp;iscopy);  LOGD("Openingserialport%s",path_utf);  fd=open(path_utf,O_RDakefile。文件内容如下:  LOCAL_PATH:=$(callmy-dir)  include$(CLEAR_VARS)  LOCAL_MODULE:=serial_port  LOCAL_SRC_FILES:=SerialPort.c  LOCAL_LDLIBS:=-llog  include$(BUILD

7、_SHARED_LIBRARY)  LOCAL_PATH:=$(callmy-dir)这句用来指定编译的路径通过调用宏my-dir获取到当前工作的路径。  include$(CLEAR_VARS)CLEAR_VARS这个变量是编译系统提供的用来指明一个GNUmakefile文件添加这句主要的目的是清理所有的LOCAL_XXX,比如LOCAL_MODULE、LOCAL_SRC_FILES等。在每个新模块的开始处需要添加这句。  LOCAL_MODULE:=serial_port这句定义了模块名称,将来编译的

8、库或者可执行程序就以此命名。如果编译的是动态库或者静态库,那么库名就是libserial_port.so或者libserial_port.a。需要注意的是系统会在生成动态库或者静态库的时候自动添加lib的前缀。  LOCAL_SRC_FILES:=SerialPort.c是列出需要编译的源码文件名。这里不需要列出头文件和被包含文件,因为编译系统会自动为你添加。  include$(BUILD_SHARED_LIBRARY)这句

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。