关于Android系统休眠跟串口读写的联系

问题描述:设备在进行rtk定位时,模块会通过串口同时进行读写操作。串口在读写时,如果息屏系统就会进入休眠,休眠的话CPU进入kill cpu状态。但是此时串口还在读写,这就导致出现一个意料外的问题,息屏只十几秒再按电源键的话显示屏将无法唤醒或者即便显示屏唤醒了,串口却出现无法读写的情况,只能重启设备串口才恢复正常。

分析:系统休眠导致串口程序工作不正常。

解决方法:在kernel中的驱动代码里判断GPS是否上电,如果上电了就加一把锁,让系统不休眠。
其实本质就是在gps模块工作时让系统不休眠。也可以在framework层修改相关代码,不过我没尝试过。如果有遇到类似问题的朋友可以去试试