MTK平台pwm控制led的亮度
来源:互联网 发布:拉伸弹性模量实验数据 编辑:程序博客网 时间:2024/04/30 09:15
1. 查MTK的Android_Driver_allinoneV1.01.pdf资料,到mediatek\source\kernel\drivers\leds\leds.c 中通过查看static int led_set_pwm(int pwm_num, struct nled_setting* led)函数,根据
struct cust_mt65xx_led {
char *name;
enum mt65xx_led_mode mode;
int data;
};结构定义的 cust_led_list中
static struct cust_mt65xx_led cust_led_list[MT65XX_LED_TYPE_TOTAL] = {
{"red", MT65XX_LED_MODE_PWM, PWM1},
{"green", MT65XX_LED_MODE_PWM, PWM2},
{"blue", MT65XX_LED_MODE_PWM, PWM3},
{"jogball-backlight", MT65XX_LED_MODE_NONE, -1},
{"keyboard-backlight",MT65XX_LED_MODE_NONE, -1},
{"button-backlight", MT65XX_LED_MODE_PWM, PWM7},
{"lcd-backlight", MT65XX_LED_MODE_CUST, (int)Cust_SetBacklight},
struct cust_mt65xx_led {
char *name;
enum mt65xx_led_mode mode;
int data;
};结构定义的 cust_led_list中
static struct cust_mt65xx_led cust_led_list[MT65XX_LED_TYPE_TOTAL] = {
{"red", MT65XX_LED_MODE_PWM, PWM1},
{"green", MT65XX_LED_MODE_PWM, PWM2},
{"blue", MT65XX_LED_MODE_PWM, PWM3},
{"jogball-backlight", MT65XX_LED_MODE_NONE, -1},
{"keyboard-backlight",MT65XX_LED_MODE_NONE, -1},
{"button-backlight", MT65XX_LED_MODE_PWM, PWM7},
{"lcd-backlight", MT65XX_LED_MODE_CUST, (int)Cust_SetBacklight},
}; 来选择的botton backlight为pwm7等控制模式。
2. 修改mediatek\source\kernel\drivers\leds\leds.c文件led_set_pwm中的case NLED_ON下的duty(0-255),可以达到改变led的brightness。
pwm控制原理
1.这里是利用脉宽PWM法,通过调整PWM的周期和占空比来改变led亮与不亮的时间,即改变了亮与不亮的机器周期,达到控制led的亮与暗。这里的占空比的变量参数就是duty 和lever.
2.PWM中的占空比解释如下:如32KHZ意味每秒产生32K个脉冲波,每个脉冲波高电平用1,低电平0表示,,若产生的波是均匀的01010101…系列,说明了导通的时间和非导通的时间是1:1,即占空比是50%,若为非均匀的脉冲波,0与1的比例失调,即大于50%的占空比输出的平均电流大,则led就更亮。
3.由寄存器KPLEDcom0和pwm1模式控制Duration和data width等来调节01序列比,每个时间周期内有不同比例的01系列,再把这些不同的占空比分255个等级,mt6573_pwm.c 中 duty 或者 lever的变化,通过S32 pwm_set_easy_config ( struct pwm_easy_config *conf)函数转化为data0,data1值,然后去写寄存器: PWM_SEND_DATA0,PWM_SEND_DATA1;这样我们就可以调节led的亮度变化了。
0 0
- MTK平台pwm控制led的亮度
- PWM 控制 LED 亮度(一)
- PWM 控制 LED亮度(二)
- PWM --用按键控制 LED 的亮度
- Arduino实验:网页控制LED,PWM亮度调节
- ZigBee基础实验(十一)--PWM来控制LED亮度
- TPS61042带PWM亮度调节的恒流LED驱动
- Esp8266学习之旅④ 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。(附带demo)
- PWM 控制LED
- 软件PWM控制led
- MTK平台LED配置
- mtk平台pwm配置说明
- 按键控制显示LED亮度
- 用PWM波控制LED灯的闪烁
- 单片机的PWM波控制LED灯电路
- LED PWM控制芯片PCA9685的Linux 驱动
- 单片机数模输出控制LED亮度的例程
- arduino 控制led灯亮度强弱变化的经典代码
- 泛型和反射
- 关于Android多项目依赖在Eclipse中无法关联源代码的问题解决
- 装机人员福利,加入360有钱联盟,可以挣外快
- xcode armv6 armv7 armv7s arm64
- SSH报错:org.hibernate.hql.ast.QuerySyntaxException: User is not mapped [select o from User o where 1=1
- MTK平台pwm控制led的亮度
- Android 和IOS 的比较
- fpc : 调用 MS TTS 读中英文
- 【编程之美挑战赛】回文字符序列(区间dp)
- MBProgressHUD
- ERROR 1010 (HY000): Error dropping database (can't rmdir '.\qpweb', errno: 41) 删库失败问题的解决
- socket网络编程的相关内容
- rwthlm工具包安装步骤
- 欢迎使用CSDN-markdown编辑器