关于RK3288_M180_红外输入_投币输入IO使用说明

来源:互联网 发布:餐馆软件 编辑:程序博客网 时间:2024/05/18 16:14

1st  硬件接法

固件默认为两个GPIO中断输入,M180,  ph2.0座子_J38,   SPIDI,SPIDO   两个引脚_中断输入(开机默认为0V,外部上拉3.3V(不能超过3.3V否则烧RK3288) 为中断触发!!硬件触发方式为稳定的“上升沿触发   ”__| ̄ ̄ " ),SPICLK,SPICSN 两个引脚_GPIO输出_开机默认为0V



2st  软件APP调用中断,DEMO 代码

    public void DisplayToast(String str)    {        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();    }        //for test EINT    public boolean onKeyDown(int keyCode, KeyEvent event){        switch (keyCode)        {            case KeyEvent.KEYCODE_TV_INPUT_COMPONENT_1:  //for KEY_GINTA                //DisplayToast("RK3288_外部中断_SP1DI,EINT1");            Log.e(MainActivity.ACTIVITY_TAG, "RK3288_外部中断_SP1DI,EINT1..............");                 break;            case KeyEvent.KEYCODE_TV_INPUT_COMPONENT_2:  //for KEY_GINTB            //DisplayToast("RK3288_外部中断_SP1DO,EINT2");            Log.e(MainActivity.ACTIVITY_TAG, "RK3288_外部中断_SP1DO,EINT2..............");                break;                        default:                break;        }        return super.onKeyDown(keyCode, event);    }






3st    软件APP调用GPIO  输出  ,DEMO 代码


a,    xxxxx.java

package com.example.gpio_test;import com.example.gpio_test.GpioJni;    import android.os.Bundle;import android.util.Log;import android.app.Activity;  import android.view.Menu;  import android.view.View;  import android.widget.Button;  import android.view.KeyEvent;import android.view.MotionEvent;import android.view.View.OnClickListener;import android.widget.Toast;//#define  SPICLLK 236  //add by jiangdou//#define  SPICSN 237   //add by jiangdou/* *  public native int rkgpio_high(int gpio,  int value);     *public native int rkgpio_low(int gpio,  int value);  *  */public class MainActivity extends Activity {            public static final int SPICLLK = 236;  //for rk3288_GPIO7_B4public static final int SPICSN = 237;   ////for rk3288_GPIO7_B5public static final int GPIO_HIGH = 1;public static final int GPIO_LOW = 0;private static final String ACTIVITY_TAG="GpioDemo";    @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.gpio_test);                     //加载libledunders.so                     final GpioJni Rk3288_Gpio = new GpioJni();    //  实例化函数                    final Button Gpiohigh = (Button)findViewById(R.id.gpiohigh);          final Button Gpiolow = (Button)findViewById(R.id.gpiolow);                          Gpiohigh.setOnClickListener(new View.OnClickListener() {                            @Override              public void onClick(View v) {                  // TODO 自动生成的方法存根              Rk3288_Gpio.rkgpio_high(SPICLLK, GPIO_HIGH);    //RK3288_GPIO输出HIGH              DisplayToast("设置RK3288_GPIO7_B4 OUTPUT HIGH DEMO by jiangdou");            }        });                    Gpiolow.setOnClickListener(new View.OnClickListener() {                            @Override              public void onClick(View v) {                  // TODO 自动生成的方法存根                  Rk3288_Gpio.rkgpio_low(SPICLLK, GPIO_LOW);  //RK3288_GPIO输出LOW                              DisplayToast("设置RK3288_GPIO7_B4 OUTPUT LOW DEMO by jiangdou");             }          });                          //return super.onKeyDown(keyCode, event);      }        @Override      public boolean onCreateOptionsMenu(Menu menu) {          // Inflate the menu; this adds items to the action bar if it is present.          getMenuInflater().inflate(R.menu.main, menu);          return true;      }              public void DisplayToast(String str)    {        Toast.makeText(this, str, Toast.LENGTH_SHORT).show();    }        //for test EINT    public boolean onKeyDown(int keyCode, KeyEvent event){        switch (keyCode)        {            case KeyEvent.KEYCODE_TV_INPUT_COMPONENT_1:  //for KEY_GINTA                //DisplayToast("RK3288_外部中断_SP1DI,EINT1");            Log.e(MainActivity.ACTIVITY_TAG, "RK3288_外部中断_SP1DI,EINT1..............");                 break;            case KeyEvent.KEYCODE_TV_INPUT_COMPONENT_2:  //for KEY_GINTB            //DisplayToast("RK3288_外部中断_SP1DO,EINT2");            Log.e(MainActivity.ACTIVITY_TAG, "RK3288_外部中断_SP1DO,EINT2..............");                break;                        default:                break;        }        return super.onKeyDown(keyCode, event);    }  }  


b,xxxx.java

package com.example.gpio_test;public class GpioJni { static {                     System.loadLibrary("rk32gpio_jni");                        }                                                 public native int rkgpio_high(int gpio,  int value);            public native int rkgpio_low(int gpio,  int value); }



0 0
原创粉丝点击