yangmiao0223 发表于 2013-9-5 08:49

28335 TIMER0中断进不去 IFR=0

本帖最后由 yangmiao0223 于 2013-9-5 09:04 编辑

    28335 TIMER0中断进不去
    配置应该没错以前每次LOAD RAM程序是偶尔有几次进不去中断现在是经常进不去
    每次都能读到 CpuTimer0Regs.TCR.bit.TIF = 1;(即发生timer0定时器外设级中断);PIE的相应位的使能和标志位都是1;CPU的IER也是1,但是IFR却是0,IFR应该是1才对吧。而且ram调试,手动让IFR=1之后,就能产生TIMER0中断了。
   同样的程序偶尔能进,偶尔又不能进TIMER0,而且ram调试进去中断之后,不断电,LOAD第二次,就进不去中断了,和解?

yangmiao0223 发表于 2013-9-5 09:03

@zhangmangui 版主快来啊求解答

tianwen_4524 发表于 2013-9-7 09:17

你的CpuTimer0Regs的定时中断使能了没啊(CpuTimer0Regs.TCR.bit.TIE = 1),仔细看,肯定哪里漏了什么???(在硬件没问题的前提下)

tianwen_4524 发表于 2013-9-7 09:20

将你的CpuTimer0的初始化和定时设置的函数,贴出来,瞧瞧。。。

yangmiao0223 发表于 2013-9-8 14:38

tianwen_4524 发表于 2013-9-7 09:17 static/image/common/back.gif
你的CpuTimer0Regs的定时中断使能了没啊(CpuTimer0Regs.TCR.bit.TIE = 1),仔细看,肯定哪里漏了什么?? ...
使能了。。。。。。如果没使能,不会出现有时好 有时不好的情况吧。主程序里面CpuTimer0Regs.TCR.bit.TSS = 0;开启了定时器
void InitCpuTimers(void)
{
    // CPU Timer 0
      // Initialize address pointers to respective timer registers:
      CpuTimer0.RegsAddr = &CpuTimer0Regs;
      // Initialize timer period to maximum:
      CpuTimer0Regs.PRD.all= 15000;
      // Initialize pre-scale counter to divide by 1 (SYSCLKOUT):
      CpuTimer0Regs.TPR.all= 0;
      CpuTimer0Regs.TPRH.all = 0;
      // Make sure timer is stopped:
      CpuTimer0Regs.TCR.bit.TSS = 1;
      CpuTimer0Regs.TCR.bit.TIF = 0;
    CpuTimer0Regs.TCR.bit.TIE = 1;
      CpuTimer0Regs.TCR.bit.FREE= 0;
    CpuTimer0Regs.TCR.bit.SOFT= 0;
      // Reload all counter register with period value:
      CpuTimer0Regs.TCR.bit.TRB = 1;
      // Reset interrupt counters:
      CpuTimer0.InterruptCount = 0;
}

zhangmangui 发表于 2013-9-8 15:19

这个我觉得原因可能是你没有将模块的时钟使能
你看看你所用到的所有模块的时钟都是能了吗
似乎我也遇到过这个问题   当时ADC采集一次然后就不采集了
结果发现ADC的时钟没有使能

1831249703 发表于 2014-12-11 12:17

您好,你解答了吗?遇到同样的问题

1831249703 发表于 2014-12-11 12:30

zhangmangui 发表于 2013-9-8 15:19 static/image/common/back.gif
这个我觉得原因可能是你没有将模块的时钟使能
你看看你所用到的所有模块的时钟都是能了吗
似乎我也遇到过 ...

版主你好,我跟楼主遇到同样的问题,中断我也使能了,别的也都使能了,但是就是进不去中断,无论 ConfigCpuTimer(&CpuTimer0, 150, 1000000);这个怎么改,输出的定时都一样,都是一个定值,500us左右。

zhangmangui 发表于 2014-12-11 21:42

1831249703 发表于 2014-12-11 12:30 static/image/common/back.gif
版主你好,我跟楼主遇到同样的问题,中断我也使能了,别的也都使能了,但是就是进不去中断,无论 ConfigC ...

看来你输出的信号与定时器没关系
也就是与 ConfigCpuTimer(&CpuTimer0, 150, 1000000);没关系

blessdxp 发表于 2017-6-15 18:25

楼主,问题解决了么?我现在也遇到这种问题了,也是定时终端偶尔进不去了

blessdxp 发表于 2017-6-15 18:29

版主,这个问题怎么解决
页: [1]
查看完整版本: 28335 TIMER0中断进不去 IFR=0