camera拍摄视频耗电过快的问题分析

在33%电量下,使用闪光灯录制视频导致手机约6分钟后自动关机,电量降至4%。问题定位为视频拍摄时闪光灯误设为Flash模式而非Torch模式。通过代码分析,发现在特定文件中设置的duty值导致驱动层进入Flash模式,修正后问题解决。
摘要由CSDN通过智能技术生成

问题:【相机】33%电量开启闪光灯录制视频,大约6分钟左右,手机自动关机,再开机,电量为4%

分析过程:

开闪光灯录制视频的情况下导致掉电,手机关机。经过跟测试沟通之后,发现正常模式下录制视频的话,没有这个问题,那么我们就把问题点定位到闪光灯上了,由于闪光灯有Flash模式和Torch模式,在拍照时,我们用的是Flash模式,该模式瞬间曝光,一般电压在300mV ~ 75mV 之间,这个是跟连接的RSET有关,我们电路接的是139kΩ,那么根据公式VFB = (1.26V/ RSET) ×10.2kΩ (Flash Mode),算出VFB=92.5mV。而Torch模式的话就只有VFB = 47mV (Torch Mode)。然后看了一下拍视频时闪光灯的亮度,跟拍照时的亮度是一样的,那么就肯定是我们拍视频的时候闪光灯的模式错误的设置为Flash模式了;

问题定位后就是代码分析了。首先分析的是驱动leds_strobe.c文件

129 ssize_t gpio_FL_Enable(void)
130 {
131     /*Enable*/
132     printk("FlashLight: %s:%d: called g_torch_mode:%d\n",__func__,__LINE__,g_torch_mode);
133     if(0 == g_torch_mode){
134         if(mt_set_gpio_out(GPIO_CAMERA_FLASH_ENM_PIN,GPIO_OUT_ONE)){PK_DBG("[constant_flashlight] enable flashlight failed!!     \n");}
135     if(mt_set_gpio_out(GPIO_CAMERA_FLASH_ENF_PIN,GPIO_OUT_ONE)){PK_DBG("[constant_flashlight] open flashlight failed!    ! \n");}
136     }else{
137         if(mt_set_gpio_out(GPIO_CAMERA_FLASH_ENM_PIN,GPIO_OUT_ONE)){PK_DBG("[constant_flashlight] set gpio failed!! \n");    }
138     }
139     return 0;
140 }  
141    
142 ssize_t gpio_FL_Disable(void)
143 {  
144     /*Disable*/
145     printk("FlashLight: %s:%d: called g_torch_mode:%d\n",__func__,__LINE__,g_torch_mode);
146     if(0 == g_torch_mode){
147     if(mt_set_gpio_out(GPIO_CAMERA_FLASH_ENF_PIN,GPIO_OUT_ZERO)){PK_DBG("[constant_flashl
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值