前面两篇分别介绍了通过脚本和C代码读写/sys/class/gpio以控制GPIO.实际项目调试时经常还需要在Java代码里控制GPIO,其实现与C代码类似,唯一不同是Android权限.本文重点介绍Android6.0权限的配置并对在Java层控制GPIO的耗时做简单分析. 以高通平台为例,权限配置主要修改HLOS/device/qcom/sepolicy/common目录下的file.te.file_contexts和system_app.te三个文件. file.te修改如下, # GPI…
Linux下控制GPIO的方法有N种,详细请参考<RPi GPIO Code Samples>,文中用十多种语言演示了如何控制GPIO,非常全面详尽.因此,这里不再多做赘述,仅把调试过程中整理的脚本贴上并做简单的分析.特别说明,Linux必须有root权限!!!否则会出现/system/bin/sh: can't create /sys/class/gpio/export: Permission denied等错误. @echo off echo adb root adb root >%…
前文<Android(Linux)控制GPIO的方法及实时性分析>主要使用Linux shell命令控制GPIO,该方法可在调试过程中快速确定GPIO硬件是否有问题,即对应的GPIO是否受控.实际项目中,一般需要对GPIO做特殊控制,如车载导航系统开机就给GPS模块上电,或在daemon程序中控制GPIO给一个脉冲以Reset蓝牙模块等,就不便用shell 命令来控制,而需要另想办法. http://elinux.org/RPi_GPIO_Code_Samples#sysfs介绍了如何在C代码…
1.添加驱动程序 2.编写jni c程序编译为库给java调用 3.app调用jni静态链接库操作底层驱动 1.添加驱动程序 修改/work/rk3288/firefly-rk3288_android5.1_git_20180126/kernel/drivers/Makefile    添加一行obj-y     += carroll/        将carroll文件夹添加至此目录下/work/rk3288/firefly-rk3288_android5.1_git_20180126/ker…
public String trim() {        int arg0 = this.value.length;   //得到此字符串的长度        int arg1 = 0;   //声明一个int 值,并赋值为0 char[] arg2; //声明一个char数组        for (arg2 = this.value; arg1 < arg0 && arg2[arg1] <= 32; ++arg1) { //将此字符数组赋值给arg2字符数组(java字符…
RaspberryPi2B使用bcm2835c库控制GPIO 网上有很多RaspberryPi控制GPIO的方法,有Python.WiringPi.bcm2835 C library 使用bcm2835 C库控制GPIO时,发现不管怎么设置,GPIO都没有反应,没有输出控制的值. 查资料发现: bcm2835的C库是bcm2835芯片专用的库,在RaspberryPI上使用没有问题,而RaspberryPi2B使用的是bcm2836芯片,虽说bcm2836和bcm2835芯片基本上一模一样,可以…
当功能需要本地代码实现的时候,Java 代码就需要调用本地代码. 在调用本地代码时,首先要保证本地代码被加载到 Java 执行环境中并与 Java 代码连接在一起,这样 Java 代码在调用本地方法时能保证找到并调用到正确的本地方法,然后在 Java 中要显示声明本地方法为native 方法. 实现步骤如下: 1.编写 Java 代码,在 Java 代码中加载本地代码库. 2.在 Java 中声明本地方法. 3.调用本地方法. public class HelloJNI { static { /…
Android NDK开发 JNI操作java普通.静态.构造方法 1.Jni实例化一个Java类的实例jobject 1.通过FindClas( ),获取Java类的的jclass 2.通过GetMethodID( ),获取java类的构造方法ID 3.通过NewObject( ),实例化java类并传递参数 2. 通过jobject访问Java类的普通方法 1.获取类名  如果传入的是jobject需要通过GetObjectClass(jobject)获取jclass 如果没有jobject…
利用i2c来控制gpio口 1.编译驱动或者安装驱动 # opkg update # opkg install kmod-i2c-gpio-custom kmod-i2c-core# 加载驱动 # insmod i2c-dev # ,, # dmesg | grep gpio Mar :: openwrt kern. Mar :: openwrt kern.: using pins (SDA) and (SCL) 2.找到i2c文件 驱动安装完成,成功加载驱动之后,查看是否存在i2c文件, 文件…
移动端越来越火了,我们在开发过程中,总会碰到要和移动端打交道的场景,比如.NET和android或者iOS的打交道.为了让数据交互更安全,我们需要对数据进行加密传输.今天研究了一下,把几种语言的加密都实践了一遍,实现了.NET,java(android),iOS都同一套的加密算法,下面就分享给大家.(转载自:http://www.cnblogs.com/jys509/p/4768120.html 有对安卓的代码单独贴出.) AES加密有多种算法模式,下面提供两套模式的可用源码. 加密方式: 先将…