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

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_B4
	public static final int SPICSN = 237;   for rk3288_GPIO7_B5
	public 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值