基本信息
源码名称:GPIO测试程序
源码大小:22.08M
文件格式:.rar
开发语言:Java
更新时间:2019-11-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 4 元 
   源码介绍
实现GPIO获取IO口数据,将连接到车载屏上的门磁开关或者其他开关信息通过GPIO采集到Android平板

package com.example.x6.gpio_3288demo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    /*
       IO 信息,下面的例子就是GPIO1_D0
    */
    private static int  numgroup = 1;
    private static char group = 'D';
    private static int num = 1;

    private final static String   TAG = "gpioctl";
    private GpioUtils gpioUtils;
    private TextView disp;
    private Button open;
    private Button setdirection;
    private CheckBox isIn;
    private Button setvalue;
    private CheckBox isLow;
    private Button getvalue;
    private Button close;

    private static boolean is_in = false;
    private static boolean is_low = false;
    private static int high = 1;
    private static int low = 0;


    private static int io = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        open.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                gpioUtils = GpioUtils.getGpioUtils();
                io = gpioUtils.getGpioPin(numgroup,group,num);
                Log.e(TAG,String.valueOf(io));
            }
        });
        setdirection.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(is_in) {
                    gpioUtils.setGpioDirection(io, 1);
                }else{
                    gpioUtils.setGpioDirection(io,0);
                }
            }
        });

        isIn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(isIn.isChecked()){
                    is_in = true;
                }else{
                    is_in = false;
                }
            }
        });

        isLow.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(isLow.isChecked()){
                    is_low = true;
                }else{
                    is_low = false;
                }
            }
        });

        setvalue.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(!is_in){
                    if(is_low){
                        gpioUtils.gpioSetValue(io,low);
                    }else{
                        gpioUtils.gpioSetValue(io,high);
                    }
                }
            }
        });

        getvalue.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(is_in){
                    if(low == gpioUtils.gpioGetValue(io)){
                        disp.setText( "电平状态(GETVALUE):" "low");
                    }else{
                        disp.setText("电平状态(GETVALUE):" "high");
                    }
                }
            }
        });
        close.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(gpioUtils != null)
                    gpioUtils.close();
                MainActivity.this.finish();
            }
        });
    }



    private void init() {
        disp = (TextView) findViewById(R.id.disp);
        open = (Button) findViewById(R.id.open);
        setdirection = (Button) findViewById(R.id.setdirection);
        isIn = (CheckBox) findViewById(R.id.isIn);
        setvalue = (Button) findViewById(R.id.setvalue);
        isLow = (CheckBox) findViewById(R.id.isLow);
        getvalue = (Button) findViewById(R.id.getvalue);
        close = (Button) findViewById(R.id.close);
    }
}