Tiny4412 LED 程序
package cn.hyc.led; import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity { private Button led1, led2, led3, led4;
private boolean led1OnOFF = false;
private boolean led2OnOFF = false;
private boolean led3OnOFF = false;
private boolean led4OnOFF = false; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
led1 = (Button)this.findViewById(R.id.led1);
led2 = (Button)this.findViewById(R.id.led2);
led3 = (Button)this.findViewById(R.id.led3);
led4 = (Button)this.findViewById(R.id.led4); led1.setOnClickListener(new OnClickLed());
led2.setOnClickListener(new OnClickLed());
led3.setOnClickListener(new OnClickLed());
led4.setOnClickListener(new OnClickLed()); } public class OnClickLed implements View.OnClickListener{
public void onClick(View v) {
switch (v.getId()) {
case R.id.led1:
if(led1OnOFF){
cmdLeds(0, 0);
led1OnOFF = false;
} else{
cmdLeds(1, 0);
led1OnOFF = true;
}
break;
case R.id.led2:
if(led2OnOFF){
cmdLeds(0, 1);
led2OnOFF = false;
} else{
cmdLeds(1, 1);
led2OnOFF = true;
}
break;
case R.id.led3:
if(led3OnOFF){
cmdLeds(0, 2);
led3OnOFF = false;
} else{
cmdLeds(1, 2);
led3OnOFF = true;
}
break;
case R.id.led4:
if(led4OnOFF){
cmdLeds(0, 3);
led4OnOFF = false;
} else{
cmdLeds(1, 3);
led4OnOFF = true;
}
break;
default:
break;
}
}
}
public native void cmdLeds(int cmd, int arg);
static
{
System.loadLibrary("leds");
} public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }
#include <jni.h>
#include <fcntl.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdlib.h> void Java_cn_hyc_led_MainActivity_cmdLeds( JNIEnv* env, jobject thiz, jint cmd, jint arg)
{ int dev;
dev = open("/dev/leds", O_WRONLY);
ioctl(dev, cmd, arg);
close(dev);
}
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := leds
LOCAL_SRC_FILES := leds.c
include $(BUILD_SHARED_LIBRARY)
Tiny4412 LED 程序的更多相关文章
- 让LED程序在片外SDRAM中运行
让LED程序在片外SDRAM中运行 一.引子 在前一篇文章中,我们已经成功点亮过LED了,为什么还要再重复一次呢? 我们已经知道,Mini2440开发板有两种启动模式:从NorFlash启动和从Nan ...
- Tiny4412之C语言实现流水灯,Tiny4412裸机程序[3]
在前边我们使用汇编完成了一个流水灯实验: Tiny4412汇编流水灯代码,Tiny4412裸机LED操作 ---- - -- -- -- - -- -- 修改: # ${MKBL2} ${SOURCE ...
- tiny4412 裸机程序 八、重定位到DRAM及LCD实验【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37407423 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一 ...
- tiny4412 裸机程序 七、重定位代码到DRAM【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37116637 一.关于DRAM 上一章我们讲解了如何对代码进行重定位,但是将代码重定位到只有25 ...
- tiny4412 裸机程序 六、重定位代码到IRAM+0x8000【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37115697 一.重定向 对于程序而言,我们需要理解两个概念,一是程序当前所处的地址,即程序在运 ...
- tiny4412 裸机程序 五、控制icache【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37115411 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一 ...
- tiny4412 裸机程序 三、关闭看门狗和调用C程序【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37112779 一.原理说明 上是章中大家可能有会觉得奇怪,CPU不是有看门狗嘛?为什么CPU没有 ...
- Tiny4412 LED 硬件服务
1.Android系统中启动框架 2.首先实现驱动程序 #include <linux/kernel.h> #include <linux/module.h> #include ...
- tiny4412 裸机程序 九、串口排查驱动原因及字符图片显示【转】
本文转载自:http://blog.csdn.net/eshing/article/details/37410571 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 一 ...
随机推荐
- reids同步机制和远程连接
RDB同步机制: 开启和关闭:默认情况下是开启了.如果想关闭,那么注释掉redis.conf文件中的所有save选项就可以了. 同步机制: save 900 1:如果在900s以内发生了1次数据更新操 ...
- u-boot.2012.10makefile分析,良心博友汇总
声明:以下内容大部分来自网站博客文章,仅作学习之用1.uboot系列之-----顶层Makefile分析(一)1.u-boot.bin生成过程分析 2.make/makefile中的加号+,减号-和a ...
- I2C软件模拟协议与电容触摸控制
I2C 与 Touch slide 最近做了一个与触摸滑条相关的测试,利用I2C通讯协议来配置触摸控制芯片的相关寄存器,读取触摸读数,并通过STM Studio动态显示触摸读数的变化过程.这个测试相对 ...
- Go 入门 - Go中的复杂类型
主要内容来自中文版的官方教程Go语言之旅 目的为总结要点 指针 Go 拥有指针.指针保存了值的内存地址. 类型 *T 是指向 T 类型值的指针.其零值为 nil. var p *int & 操 ...
- 北京Uber优步司机奖励政策(4月3日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- Windows 显示环境变量
echo %% D:\>echo %python3% C:\Users\zy\AppData\Local\Programs\Python\Python36 D:\> 我的环境变量如下:
- 利用反射获取Model值
public ActionResult Base(UserModel Model) { Model.Tel = string.Format("{0}-{1}", Model.Are ...
- 「题目代码」P1049~P1053(Java)
P1049 谭浩强C语言(第三版)习题6.5 import java.util.*; import java.io.*; import java.math.BigInteger; import jav ...
- APP九宫格滑动解锁的处理
写手机自动化测试脚本关于APP九宫格滑动解锁方面采用了appium API 之 TouchAction 操作. 先是用uiautomatorviewer.bat查询APP元素坐标: 手工计算九宫格每个 ...
- linux部署MantisBT(二)部署php
二.部署php 1.下载php安装包 http://php.net/downloads.php 2.安装php yum install libxml2 yum install libxml2-deve ...