android gpio口控制


android gpio口控制

 GPIO口控制方式是在jni層控制的方式實現高低電平輸出,類似linux的控制句柄方式,在linux系統下將每個設備看作一個文件,android系統是基於linux內核的。

保證該文件有讀寫權限

view

用命令控制gpio輸出

輸出高電平
echo 1 > /system/class/gpio_sw/data
輸出低電平
echo 1 > /system/class/gpio_sw/data

代碼段

#include <unistd.h>
#include"Logger.h"
#include <stdio.h>
#include <linux/input.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#define DEV_PATH "/sys/class/gpio_sw/PE12/data"   //difference is possible


JNIEXPORT jint JNICALL Java_com_example_liang_gpio_1demo_Gpio_Set_1GPIO
        (JNIEnv *env,jobject){
    int fd;

    fd = open(DEV_PATH, O_WRONLY);
    if(fd < 0){
        LOGE("fail in open file %s", DEV_PATH);
        return -1;
    }
    write(fd, "1", strlen("1"));  //輸出高電平
    sleep(1);  //延時
    write(fd, "0", strlen("0"));  //輸出低電平
    close(fd);
    return 0;

}

使用

 點擊SetGpio按鈕輸出高低電平變化

自己編寫
DEMO


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM