Android层接收串口数据

来源:互联网 发布:淘宝那里设置破损补寄 编辑:程序博客网 时间:2024/06/06 05:25

作者:赵恒晨

在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 :=uart
LOCAL_SRC_FILES := com_example_uart_control_Linuxc.c
LOCAL_LDLIBS    := -landroid -llog -ldl -L$(LOCAL_PATH)
include $(BUILD_SHARED_LIBRARY)
文件名设为Android.mk

3.若是Windows平台下安装 cygwin

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

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




0 0