#include <stdio.h>
#include <string.h>
#include <jni.h>
#include <fcntl.h> /*包括文件操作,如open() read() close()write()等*/
#include <android/log.h>
#define LOG_TAG "a7105"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
#define DEVICE_NAME "/dev/a7105_spi_moni" //device point
int fd;
jstring Java_com_example_a7105demo_a7105Class_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "This is a7105 demo project!");
}
jint Java_com_example_a7105demo_a7105Class_Init( JNIEnv* env)
{
LOGE("a7105Class()\n");
fd = open(DEVICE_NAME, 0);
LOGE("a7105Class()-> fd = %d \n", fd);
if (fd < 0){
LOGE("open device %s error \n", DEVICE_NAME);
return 0;
}
return 1;
jni学习实例(二)-a7105模块驱动之jni
最新推荐文章于 2021-07-12 23:43:20 发布
本文档介绍了如何使用JNI在Android应用中与A7105模块进行交互,包括设备初始化、读写操作以及关闭设备的函数实现。通过打开设备节点、读写数据以及调用ioctl系统调用来控制模块状态。
摘要由CSDN通过智能技术生成