91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 30KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-10
  • 語言: Java
  • 標簽: Android??Linux??

資源簡介

Android系統中上層UI是使用Java語言完成的,涉及到底層驅動的話,需要SO庫(JNI層)的連接。所以針對LED控制,將從底層驅動、JNI層SO連接庫和上層UI界面進行設計。 此處LED驅動程式采用動態編譯,可隨時進行修改、編譯和載入驅動。但需要手動加載驅動和創建設備節點.

資源截圖

代碼片段和文件信息

/*?linux/drivers/dmatek/pad4412_led/led.c
?*
?*?DMATEK
?*?lyp
?*?2016.04.12
?*
?*/

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?

#include?
#include?
#include?

#include?



#define?LED_ON??1
#define?LED_OFF?0

#define?LED_MAJOR?230
#define?led_name?“led“

#define?EXYNOS4412_baseADDR ???0x11400000
#define?EXYNOS4412_GPK3CON????(*?(volatile?unsigned?int?*)0x114000A0)//(EXYNOS4412_baseADDR?+?0xA0)??
#define?EXYNOS4412_GPK3DAT ??(*?(volatile?unsigned?int?*)0x114000A4)//(EXYNOS4412_baseADDR?+?0xA4)

#define?GPIO_GPK3_LED18???????EXYNOS4_GPK3(3)?????//led?18
#define?GPIO_GPK3_LED19???????EXYNOS4_GPK3(4)?????//led?19



static?void?led_off(int?led_num)
{

//int?gpk3dat;

//gpk3dat?=?__raw_readl(EXYNOS4412_GPK3DAT);
switch(led_num)
{
case?1: //led1
//gpk3dat?&=~(1<<3); //D18
gpio_direction_output(GPIO_GPK3_LED180);
break;
case?2: //led2
//gpk3dat?&=~(1<<4); //D19
gpio_direction_output(GPIO_GPK3_LED190);
break;
default:
break;
}
//__raw_writel(gpk3datEXYNOS4412_GPK3DAT);

}

static?void?led_on(int?led_num)
{

//int?gpk3dat;

//gpk3dat?=?__raw_readl(EXYNOS4412_GPK3DAT);//S3C_GPBDAT
switch(led_num)
{
case?1: //led1
//gpk3dat?|=?(1<<3); //D18
gpio_direction_output(GPIO_GPK3_LED181);
break;
case?2: //led2
//gpk3dat?|=?(1<<4); //D19
gpio_direction_output(GPIO_GPK3_LED191);
break;
default:
break;
}
//__raw_writel(gpk3datEXYNOS4412_GPK3DAT);
}

static?ssize_t?led_read(struct?file?*file?char?__user?*buf?size_t?count?loff_t?*offset)
{
return?count;
}

static?ssize_t?led_write(struct?file?*file?const?char?__user?*buf?size_t?count?loff_t?*offset)
{
return?0;
}


static?int?led_open(struct?inode?*inode?struct?file?*file)
{
printk(“led_open?+++++++1\n“?);

gpio_direction_output(GPIO_GPK3_LED180);
gpio_direction_output(GPIO_GPK3_LED190);

/*unsigned?int?val;
val?=?readl(EXYNOS4412_GPK3CON);
val?&=?~?(0xff?<<0);
val?|=?(1?< writel(val?EXYNOS4412_GPK3CON); //將GPK3和GPK4設置為輸出模式

val?=?readl(EXYNOS4412_GPK3DAT);
val?&=?~?((1?<<3)|(1<<4));
writel(val?EXYNOS4412_GPK3DAT); //將GPK3和GPK4置為低*/
printk(“led_open?-------1\n“?);
return?0;

}

/* release?command?for?led?device?file */
static?int?led_close(struct?inode?*inode?struct?file?*file)
{
// printk(“led_close?+++1\n“);

return?0;
}

/* ioctl?command?for?led?device?file */


//static?int?led_ioctl(struct

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????4533??2016-04-13?09:42??led.c
?????文件???????63792??2016-04-12?17:53??led.ko
?????文件?????????402??2016-04-12?10:09??Makefile

評論

共有 條評論