想用cc2530定时器3的模模式,可是就是进不了中断,求解!

2019-03-24 17:53发布

我用的是TI的cc2530,51核的,打算在z-stack里用定时器3做去抖动任务,先前用自由模式,就是重复的从00~ff计数,定时器能进中断,后面改成倒计数和模模式,T3CC0也设置了初值,结果就进不了中断了,怎么破?我定时是200us进一次中断。

  1. void T3_Init(void)
  2. {
  3.   T3CTL |= 0x08 ;          //开溢出中断     
  4.   T3IE   = 1;                //开总中断和T3中断
  5.   T3CTL |= T3_PSC_32;        //32分频,32/16000000=2us
  6.   T3CTL |= 0x01;           //倒计数模式
  7.   T3CC0  = 0x64;           //100*2us
  8.   T3CTL |= 0x10;           //启动
  9.   EA = 1;                  //开总中断
  10. }
复制代码网上也没有完整的定时器3初始化配置。。。烦的啊
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
喵星人の马甲
1楼-- · 2019-03-25 01:44
之后用断点跟查T3CNT的值,发现这个计数器根本就没有工作,一直是0,怎么办啊?自己顶。。。
lyzhangxiang
2楼-- · 2019-03-25 04:49
 精彩回答 2  元偷偷看……
喵星人の马甲
3楼-- · 2019-03-25 09:51
lyzhangxiang 发表于 2015-8-17 12:58
没实际经验,也得来帮忙下。。纯粹感觉
这句对么,倒计数模式是否有对应的中断,还是共用的中断
T3CTL |= ...

0x08是T3CTL.OVFIM位置位,表示开启定时器3的中断屏蔽。
T3CNT我用模模式和倒计数模式看都是0,但是在自由模式里看这是有值的,并且随时在变化,我觉得这可能是定时器没有跑起来所以计数器根本没计数。
lyzhangxiang
4楼-- · 2019-03-25 11:19
T3CTL |= 0x08 ;          //开溢出中断
你的注释是嘛意思,我理解的是使能溢出中断,那倒计数模式也是用溢出中断的呢,你明白我得意思么
没有看手册,仅仅是交流
喵星人の马甲
5楼-- · 2019-03-25 13:17
 精彩回答 2  元偷偷看……

一周热门 更多>