作者:赵恒晨

在Android中,没有提供直接调用串口的API。因此,要想从串口中获取数据,需要编写Linux层驱动,并用JNI封装函数,为上层程序做为调用。

具体步骤:

1.编写Linux层串口驱动。

(1)首先编写Linux层驱动的头文件,用C语言将串口操作的每个函数头封装到.h文件中,

(2)打开CMD命令行,在当前目录下,输入javah -classpath .jni 文件目录/文件

 

(3)得到Java的函数封装文件后,用每一个函数名来做为C程序中的函数名,并编写c函数,包括:打开串口,设置波特率,校验位,停止位,读写数据等.

2.编写Android makefile

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE :=uartLOCAL_SRC_FILES := com_example_uart_control_Linuxc.cLOCAL_LDLIBS    := -landroid -llog -ldl -L$(LOCAL_PATH)include $(BUILD_SHARED_LIBRARY) 文件名设为Android.mk

3.若是Windows平台下安装 cygwin

Cygwin是Linux环境模拟器,Linux驱动需要在linux环境下编译

在本路径下输入ndk-build,若生成.so文件,这编译成功。




更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 为 Android添加底层核心服务
  6. android things 树莓派B3 GPIO口测试及问题总结
  7. Android(安卓)nomedia 避免图片等资源泄露在系统图库当中
  8. windows下cygwin使用ndkr8编译ffmpeg
  9. 给android设备增加串口功能

随机推荐

  1. 改变Android按钮背景颜色的高效方法
  2. Android(安卓)NFC近场通信02----读写卡的
  3. Android(安卓)Studio com.android.dex.De
  4. Android逆向分析之dex2jar和jd-gui使用
  5. Android(安卓)aapt实现资源分区(补充携程a
  6. Android图形显示系统——下层显示4:图层合
  7. 分享几点Android(安卓)开发中的小技巧吧
  8. Android学习路线(二十五)全面理解Android(
  9. 个人认为安卓开发前景
  10. Android(安卓)里的Intent是什么意思