|
楼主 |
发表于 2008-4-28 09:39:19
|
显示全部楼层
发现在OslStartSoftTimer最后也也是调用了L4层的定时器,L4StartTimer函数声明如下:
void L4StartTimer(unsigned short nTimerId, oslTimerFuncPtr TimerExpiry, void * funcArg, unsigned long nTimeDurationInTicks, unsigned char alignment)
最后一个参数比较关键.
1.如果是TIMER_IS_NO_ALIGNMENT,定时器会在手机进入睡眠模式的时候停止,但是定时准确,误差在1ms以内.
2.如果是TIMER_IS_ALIGNMENT则定时器不会停,但是却会被delay.在MTK25上可能被delay150-300ms之间.MTK28上大约是50-60ms.
但是我想问一下如果需要精确定时,但是却不能在手机进入睡眠模式的时候停止,所以以上两个结果都不符合要求.
我用了kal_create_timer,kal_set_timer手机会重新启.已经迷惑了好长时间.高手帮下忙啦!谢谢了! |
|