dsp定时器中断如何实现延时60s

dsp外部时钟是10mhz,我用0.5倍频。预分频因子设最大128,这样算出来机器周期0.0256ms。我定时器的周期寄存器16位最多只能用FFFFh,就是65535.最多最多也就做1.6s左右的延时。那怎么实现60s的延时呢?
假如我做延时1s的中断,在其中设置一个寄存器60,每次减1,减到零作为另外一个中断的标志,我觉得这样好像就失去了中断不干扰主程序的意义了吧?
不知道有没有表达明白,大家帮我下吧。

直接在定时中断中设置一个LoopCount,然后不停的LoopCount++,然后再在主程序里的循环里不停的查询LoopCount,达到你要的值就去执行你要的代码,否则就接着循环。你用10Mhz的时钟,想达到非常高的精度本身就不是件容易的事。真想要特别高的精度,可以看看F2812和F28335,150MHz。精度一定能满足你。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-11
你说的方法也可以的,长延时几乎都是这样的追问

可是那要不停的跳中断,影响程序进程。而且一些中断的出口入口语句几千次叠加起来对于我延时的精确性很有影响。另外我就算做一秒的中断也不是精确的,要-+0.0000几秒,当很多次叠加误差也会增大。
我就想单纯利用定时器的功能区实现

相似回答