现象:机器带备用电池,拔掉电池机器屏幕,更换电池后亮屏,有概率在更换电池后机器不能亮屏。
原因:通过LOG分析是在更换电池前机器处于睡眠状态,更换电池后触发中断,然后去通过电量计去读电池的电量,读取过程中,I2C又suspend了,导致读取电量失败。
修改:在中断处理函数里面加入__pm_stay_awake,处理完调用__pm_relax
文章讨论了机器在更换电池后可能无法亮屏的现象,原因是更换电池前机器处于睡眠状态,更换后触发中断导致I2C暂停,无法正确读取电量。为解决此问题,建议在中断处理函数中加入__pm_stay_awake和__pm_relax以保持设备唤醒。
现象:机器带备用电池,拔掉电池机器屏幕,更换电池后亮屏,有概率在更换电池后机器不能亮屏。
原因:通过LOG分析是在更换电池前机器处于睡眠状态,更换电池后触发中断,然后去通过电量计去读电池的电量,读取过程中,I2C又suspend了,导致读取电量失败。
修改:在中断处理函数里面加入__pm_stay_awake,处理完调用__pm_relax
327

被折叠的 条评论
为什么被折叠?
