找回密码
 注册
搜索
查看: 1259|回复: 11

[讨论] 系统定时器丢失问题求助

[复制链接]
发表于 2008-9-4 16:44:28 | 显示全部楼层 |阅读模式
读串口数据时,收到串口中断时启用了StartTimer设置了100ms 的回调函数去读,发现偶尔会不执行回调函数。

请达人指点,谢谢。
发表于 2008-9-4 18:20:14 | 显示全部楼层
MTK定时器有两种模式,一种是TIMER_IS_ALIGNMENT,另一种是TIMER_IS_NO_ALIGNMENT,好像TIMER_IS_NO_ALIGNMENT这种定时器是没有延时的,而StartTimer是TIMER_IS_NO_ALIGNMENT模式的,换个定时器不知道能不能解决上面的问题,还请高手解答了

关注中。。。
点评回复

使用道具 举报

发表于 2008-9-6 22:47:15 | 显示全部楼层
中断太快还是中断没上来?
点评回复

使用道具 举报

发表于 2008-9-7 13:42:11 | 显示全部楼层
重新定义一个TimerID试下
点评回复

使用道具 举报

 楼主| 发表于 2008-9-8 11:42:54 | 显示全部楼层
回  oosky:加了调试语句  中断收到了 定时器启动也执行了~~~[em03]
点评回复

使用道具 举报

 楼主| 发表于 2008-9-27 18:41:05 | 显示全部楼层
[em09]
点评回复

使用道具 举报

发表于 2008-10-6 10:02:38 | 显示全部楼层
void StartTimer(U16 timerid, U32 delay, FuncPtr funcPtr)
{
    L4StopTimer(timerid);
    L4StartTimer(timerid, (oslTimerFuncPtr)funcPtr,
                    (void *)timerid, delay, TIMER_IS_ALIGNMENT);
}

StartTimer()原型。
点评回复

使用道具 举报

发表于 2008-10-14 19:53:16 | 显示全部楼层
MTK里面的调用StartTimer启动的定时器是非常不准确的,并且由于是消息机制,当CPU进入睡眠模式时就对出现定时器丢失的问题,可以在启动定时器后禁止cpu进入睡眠模式,定时器到后启用睡眠模式,这样就不会丢失定时消息了。
对于这种贴近硬件的定时器,我倒是建议使用GPT来实现。
点评回复

使用道具 举报

 楼主| 发表于 2008-10-25 10:14:01 | 显示全部楼层
perennial :你好,何为GPT,还请指教。
点评回复

使用道具 举报

发表于 2008-11-15 21:59:59 | 显示全部楼层
关注中。[em03][em01]
点评回复

使用道具 举报

发表于 2008-11-20 17:16:44 | 显示全部楼层

到工程里搜锁GPT或看DATASHEET

到工程里搜锁GPT或看DATASHEET
点评回复

使用道具 举报

发表于 2008-11-20 17:19:00 | 显示全部楼层
到工程里面搜索GPT或看看DATASHEET.
general purpose timer
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-16 01:39 , Processed in 0.044700 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表