打印
[技术问答]

定时器不能进入中断

[复制链接]
1924|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用Nano110内部的TIMER0想实现定时1s中,但是程序却不能进入中断,代码如下,请问错在那了?用的是NuvoTon提供的函数库!

  TIMER_Init(TIMER0,12,0x12C7B,TIMER_CTL_MODESEL_ONESHOT);
  TIMER_EnableInt(TIMER0,TIMER_IER_TMRIE);
  TIMER0->CTL |= TIMER_CTL_TMREN;

TIMER0使用默认的时钟源12MHZ,还有我的24位定时值计算正确吗???

沙发
huhaomcu|  楼主 | 2014-4-8 23:55 | 只看该作者
现在不知怎么回事,又可以进中断了,但定时时间不对,比1s要快很多,请问计算错在那了??

使用特权

评论回复
板凳
niuyaliang| | 2014-4-9 08:25 | 只看该作者
中断进不去是因为你没启动定时器

使用特权

评论回复
地板
niuyaliang| | 2014-4-9 08:25 | 只看该作者
一秒是这么设置的,你设置的初始值就不对 TIMER_Init(TIMER0, 11, 1000000, TIMER_CTL_MODESEL_PERIODIC);

使用特权

评论回复
5
niuyaliang| | 2014-4-9 08:26 | 只看该作者

使用特权

评论回复
6
huhaomcu|  楼主 | 2014-4-9 08:41 | 只看该作者
niuyaliang 发表于 2014-4-9 08:25
中断进不去是因为你没启动定时器

没启动定时器????????我不是在最后一句里有TIMER->CTL |= TIMER_CTL_TMREN;这不是启动了定时器吗???

使用特权

评论回复
7
huhaomcu|  楼主 | 2014-4-9 08:50 | 只看该作者
niuyaliang 发表于 2014-4-9 08:25
一秒是这么设置的,你设置的初始值就不对 TIMER_Init(TIMER0, 11, 1000000, TIMER_CTL_MODESEL_PERIODIC); ...

TIMER_Init(TIMER0,11,1000000,TIMER_CTL_MODESEL_PERIODIC)设置是对的吗???
在TIMER_Init函数内是将1000000直接赋给了24位TMRx_CMPR寄存器的,正确做法不是应该 超时周期=(输入给定时器的时钟周期)*(8位预分频计数器 + 1) * (24位TCMP) 那么应该是计算出 24位TCMP值= 超时周期 / 输入给定时器的时钟周期 * (8位预分频计数器 + 1);还有8位预分频计数器应该是12吧,不是将12MHZ时钟进行12分频吗?那1s的计算过程应该是 TCMP = 1000000 / (1) *(12+1) = 0x12C7B。我觉得过程应该是这样的?

使用特权

评论回复
8
niuyaliang| | 2014-4-9 08:58 | 只看该作者
本帖最后由 niuyaliang 于 2014-4-9 09:08 编辑
huhaomcu 发表于 2014-4-9 08:50
TIMER_Init(TIMER0,11,1000000,TIMER_CTL_MODESEL_PERIODIC)设置是对的吗???
在TIMER_Init函数内是将1 ...

假设你的晶振为12MHz,那么12分频为1MHz,从0开始计时,到1000000溢出,不就是1Mhz*1000000=1s么,我怎么觉得官方给的这个公式怪怪的

使用特权

评论回复
9
niuyaliang| | 2014-4-9 09:02 | 只看该作者
huhaomcu 发表于 2014-4-9 08:41
没启动定时器????????我不是在最后一句里有TIMER->CTL |= TIMER_CTL_TMREN;这不是启动了定时器吗 ...

最后一句确实启动了,我看的是库函数

使用特权

评论回复
10
huhaomcu|  楼主 | 2014-4-9 09:33 | 只看该作者
niuyaliang 发表于 2014-4-9 08:58
假设你的晶振为12MHz,那么12分频为1MHz,从0开始计时,到1000000溢出,不就是1Mhz*1000000=1s么,我怎么 ...

谢谢!你的说法是对的,定时器定时时间准确度还行!!!!

使用特权

评论回复
11
天命风流| | 2014-4-9 14:07 | 只看该作者
我也遇到这一问题!!!      

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

508

帖子

3

粉丝