RK3288 基于Androidstdio JNI实现 IIC 通信

RK3288实现JNI对接上层Java和下层的C++。那么我们就要搭建JNI环境,请参考:

https://blog.csdn.net/shao15232/article/details/102501415

这一节我们主要讲JNI如何实现Android stdio实现IIC与从机通信。

 

首先在JNI中添加iic源文件。如下图:

这里我们添加了编译so库要使用的源文件,就需要设置一下Android.mk

然后就是bsp_iic.cpp源码的实现。(注这里是我们用来读取T613作为Slave address)

bsp_iic.cpp源码:

#include <stdio.h>
#include <linux/types.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/ioctl.h>
#include <string.h>
#include <linux/i2c.h>
#include <linux/i2c-dev.h>  //这个头文件只有在ndk-16里面有,之前用的ndk-12找不到这个头文件

#define SINGLE_RW_2B_ADDR    0x30
#define MODIFY_BNAK_ADDR     0x31

/**
 *
 * @param u8BusIndex
 * @return
 */
int I2C_open(unsigned char u8BusIndex)
{
	char szDev[16] = {0};
	sprintf(szDev, "/dev/i2c-%d", u8BusIndex);
	return open(szDev, O_RDWR);
}

/**
 *
 * @param dev_fh
 * @return
 */
int I2C_close(int dev_fh)
{
	return close(dev_fh);
}


/**
 *
 * @param u8BusIndex
 * @param u16BankIndex
 * @return
 */

int I2C_modify_bank_index(unsigned char u8BusIn
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值