娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

TQ210搭載Android4.0.3系統構建之LED從驅動到HAL到JNI到應用程序(應用程序篇)

發布者:心滿意足最新更新時間:2025-02-14 來源: cnblogs關鍵字:TQ210  LED  驅動 手機看文章 掃描二維碼
隨時隨地手機看文章

開發板:TQ210


OS:Android 4.0.3


以下所有內容都是在TQ210開發板上實現,并且很多內容也是天嵌公司提供,我將一些內容進行了刪減、替換,然后加入了一些自己的理解,同時也是記錄自己學習的旅程。


LedUnderActivity.java


package com.unders.led;


import com.unders.led.R;


import android.app.Activity;

import android.app.AlertDialog;

import android.os.Bundle;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.CompoundButton;

import android.widget.Switch;

import android.widget.CompoundButton.OnCheckedChangeListener;

import android.widget.Toast;


public class LedUnderActivity extends Activity implements OnCheckedChangeListener{

    /** Called when the activity is first created. */

Switch led1,led2,all;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        led1=(Switch) findViewById(R.id.led1);  //控制LED的開關

        led2=(Switch) findViewById(R.id.led2);

        all=(Switch) findViewById(R.id.led3);    //控制兩個LED的開關

        led1.setOnCheckedChangeListener(this);   //開關的事件監聽

        led2.setOnCheckedChangeListener(this);

        all.setOnCheckedChangeListener(this);

        if(!led_init())  //led初始化 加載庫 初始化led 打開led

        {

        new AlertDialog.Builder(LedUnderActivity.this).setTitle('error').setMessage('init led failn').setPositiveButton('確定', null).show();

        }

    }

    

    //加載libledunders.so

    static{

    System.loadLibrary('ledunders');  

    }

    

    //本地函數

    public static native boolean led_init();

    public static native boolean led_close();

    public static native boolean led_setOn(int number);

    public static native boolean led_setOff(int number);

    

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

// TODO Auto-generated method stub

switch (buttonView.getId()) {

case R.id.led1:  //操縱LED1

//Toast.makeText(LedActivity.this, '1', 1).show();

//if (led1.isChecked()) {

controlLed(1,led1.isChecked());  

Log.d('msg', '操作LED1,'+led1.isChecked());

//}

break;

case R.id.led2:  //操縱LED2

//Toast.makeText(LedActivity.this, '2', 1).show();

controlLed(2,led2.isChecked());

Log.d('msg', '操作LED2,'+led2.isChecked());

break;

case R.id.led3:  //同時操縱兩個LED

//Toast.makeText(LedActivity.this, '12', 1).show();

controlLed(1,all.isChecked());

controlLed(2,all.isChecked());

Log.d('msg', '操作LED1和LED2,'+all.isChecked());

break;

}

}

private void controlLed(int number,boolean on)  //控制LED函數

{

if (on) {

led_setOn(number);

}else {

led_setOff(number);

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {  //退出

// TODO Auto-generated method stub

menu.add(0, 1, 0, '退出');

return super.onCreateOptionsMenu(menu);

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// TODO Auto-generated method stub

switch (item.getItemId()) {

case 1:

this.finish();

break;


default:

break;

}

return true;

}

    

}


 


main.xml


    android:layout_width='fill_parent'

    android:layout_height='fill_parent'

    android:orientation='vertical' >

    android:layout_width='fill_parent'

    android:layout_height='wrap_content'

    android:orientation='horizontal'

    >

            android:layout_width='wrap_content'

        android:layout_height='wrap_content'

        android:text='@string/led1' />


            android:id='@+id/led1'

        android:layout_width='0dp'

        android:layout_weight='1'

        android:layout_height='wrap_content'

         />

    android:layout_width='fill_parent'

    android:layout_height='wrap_content'

    android:orientation='horizontal'

    >

            android:layout_width='wrap_content'

        android:layout_height='wrap_content'

        android:text='@string/led2' />


            android:id='@+id/led2'

        android:layout_width='0dp'

        android:layout_weight='1'

        android:layout_height='wrap_content'

         />

    android:layout_width='fill_parent'

    android:layout_height='wrap_content'

    android:orientation='horizontal'

    >

            android:layout_width='wrap_content'

        android:layout_height='wrap_content'

        android:text='@string/All' />


            android:id='@+id/led3'

        android:layout_width='0dp'

        android:layout_weight='1'

        android:layout_height='wrap_content'

         />


效果圖:

 

   對于上層的應用開發 比較簡單 通過JNI調用本地方法 操縱LED的亮或者滅


關鍵字:TQ210  LED  驅動 引用地址:TQ210搭載Android4.0.3系統構建之LED從驅動到HAL到JNI到應用程序(應用程序篇)

上一篇:TQ210搭載Android4.0.3系統構建之LED從驅動到HAL到JNI到應用程序(JNI篇)
下一篇:TQ210搭載Android4.0.3系統構建之LED從驅動到HAL到JNI到應用程序(總結篇)

推薦閱讀最新更新時間:2025-04-07 10:42

TQ210裸機編程(1)——LED流水燈
兩個文件start.S和led.c start.S .global _start @聲明一個全局的標號 _start: bl main @跳轉到C函數去執行 halt: b halt @死循環 led.c #define GPC0CON *((volatile unsigned int *)0xE0200060) #define GPC0DAT *((volatile unsigned int *)0xE0200064) void delay(volatile unsigned int t) { volatil
[單片機]
專題8-I2C驅動程序設計-第3課-I2C子系統
1、概述 (1)I2C子系統架構 (2)I2C總線驅動 2、子系統架構
[單片機]
專題8-I2C<font color='red'>驅動</font>程序設計-第<font color='red'>3</font>課-I2C子<font color='red'>系統</font>
基于S3C44B0X的大型LED顯示系統設計
大型LED顯示系統已經廣泛應用于各種室內外場合,但由于其多采用多機系統,提高了系統成本和軟硬件設計復雜度。多機系統工作時,本質上相當于一個高總線寬度的計算機系統。其技術難點如下: ◆大型LED顯示屏上的像素數以萬計,隨著顯示面積增大,電路結構隨之增大。 ◆為了保證一定的顯示質量,幀頻應在30幀/s以上。對于一個512×252的單色LED屏,每秒的數據傳輸量至少為480 KB以上,對于彩屏及顯示質量高的場合,數據傳輸量還將按整數倍增長。 ◆當LED屏位于室外時,上下位機通信可能在百米甚至千米以上,要求通信速度快且可靠。 鑒于上述前兩個技術難點,為能夠使用單CPU系統代替多機系統控制大型LED顯示系統,采
[電源管理]
基于S<font color='red'>3</font>C44B0X的大型<font color='red'>LED</font>顯示<font color='red'>系統</font>設計
線性LED驅動芯片在汽車車身照明系統的應用
如今,線性LED驅動芯片越來越多地應用于汽車車身照明系統,且尤其適合應用在尾燈模塊。多年來TI一直致力于為汽車行業用戶提供最具競爭力的LED驅動解決方案,構建創新、可靠、經濟高效的汽車照明系統。 LED在具體的使用時,要注意驅動電路的選用。LED 驅動電路除了要滿足安全要求外,另外的基本功能應有兩個方面:根據能量來源的不同,LED驅動電路總體上可分為兩類,一是AC/ DC轉換,能量來自交流電,二是DC/ DC轉換,能量來自干電池、可充電電池、蓄電池等。根據LED驅動原理的不同,又可以分為線性驅動電路和開關驅動電路。led驅動電路是一種用于可控硅調光器的電路,分為兩類AC/ DC轉換和DC/ DC轉換兩類,又根據驅動原理的不同,
[嵌入式]
線性<font color='red'>LED</font><font color='red'>驅動</font>芯片在汽車車身照明<font color='red'>系統</font>的應用
思坦科技推出面向XR的Micro-LED驅動
日前,在“2023松山湖中國IC創新高峰論壇”上,思坦科技董事長劉召軍介紹了Micro-LED的產業現狀以及思坦科技的產品。 顯示是XR應用中的最重要部分之一,一方面BOM成本是大頭,另外更重要的是,顯示效果的好壞直接關系到了用戶體驗。 首先介紹一下Micro-LED的背景資料。Micro-LED技術是指以自發光的微米量級的LED為發光像素單元,將其組裝到驅動面板上形成高密度LED陣列的顯示技術,即LED微縮化和矩陣化技術,指在一個芯片上集成高密度微小尺寸的LED陣列,是將LED進行薄膜化、微縮化和矩陣化的結果。Micro-LED一般要求芯片尺寸小于50μm,可實現每個圖元單獨定址和單獨驅動發光。在顯示方面與?LCD、OL
[手機便攜]
思坦科技推出面向XR的Micro-<font color='red'>LED</font><font color='red'>驅動</font>
micro2440寫的第一個驅動-LED
這是學習驅動開發中,在MICRO 2440開發板上寫的第一個驅動程序。實現對S3C2440的GPIO的控制,是一個ARM-LINUX上最簡單的驅動。本驅動通過S3C2440的GPB5~8控制4個LED,屬MISC(混雜)驅動,其實MISC也是一種特殊的字符驅動,只不過是把主設備號為10的字符驅動歸類為MISC類驅動。 MISC類驅動結構如下: static struct miscdevice misc = { .minor = MISC_DYNAMIC_MINOR, .name = DEVICE_NAME, .fops = &dev_fops,   }; minor為指定次設備號,等于MISC_DYNAMI
[單片機]
交流直接驅動(DACD)電源方案讓LED壽命更長
LED技術推動了照明領域的一場革命。結合小型、低功耗、高可靠性和低成本,使得照明可以在不可能用白熾燈或熒光燈技術的地方實施。因此,LED照明在辦公室、家庭甚至在我們的車上激增。 目前固態照明方案的主要缺點不是LED本身,而是提供照明能量的電源。這些開關電源(SMPS)的預期壽命比LED短得多,這主要是因為它們所含的磁性元件和電解電容器的使用壽命。此外,含有風扇等有源冷卻設備的開關電源尤其易受早期故障的影響。另一個缺點是SMPS通常體積龐大,是電磁干擾(EMI)的主要來源。考慮到它們的尺寸和通常有限的照明安裝空間,它們不太可能與LED安裝在相同的PCB上,因此需要互連和引線,這是另一個潛在的故障來源。 然而,電力技術和拓撲的
[電源管理]
交流直接<font color='red'>驅動</font>(DACD)電源方案讓<font color='red'>LED</font>壽命更長
東芝推出搭載靜電保護、用于驅動LED前照燈的MOSFET
東京-- 東芝電子元件及存儲裝置株式會社(“東芝”)已推出搭載高效靜電放電保護的雙MOSFET “SSM6N813R”,該產品適用于需要耐高電壓和小尺寸的汽車應用,包括LED前照燈驅動器IC。量產出貨將于四月啟動。. 100V的最大漏源極電壓(VDSS)可確保SSM6N813R適用于需要多個LED的前照燈應用,高抗靜電能力為此提供支持。SSM6N813R采用最新工藝制造,使用 TSOP6F封裝,具備1.5W的允許功耗和低導通電阻。此外,TSOP6F的封裝尺寸比SOP8封裝小70%。 應用場合 汽車LED前照燈驅動器 特點 小型封裝 高靜電保護等級 低RDS(ON) 主要規格
[電源管理]
東芝推出搭載靜電保護、用于<font color='red'>驅動</font><font color='red'>LED</font>前照燈的MOSFET
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 连山| 尚志市| 连平县| 砀山县| 襄樊市| 扶余县| 石屏县| 株洲市| 巴彦县| 华容县| 庄浪县| 大城县| 磐安县| 息烽县| 澎湖县| 双鸭山市| 静乐县| 济南市| 夏河县| 壶关县| 缙云县| 舒兰市| 横峰县| 晴隆县| 会宁县| 资溪县| 江口县| 西宁市| 仁寿县| 布拖县| 海丰县| 乐山市| 南岸区| 保靖县| 壤塘县| 四川省| 鲁甸县| 新竹市| 龙陵县| 武定县| 沙湾县|