打印

timer0打开之后,tss=1也关不掉定时器。麻烦各位帮忙看一下,谢谢

[复制链接]
597|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
970253146|  楼主 | 2015-12-6 17:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void delay(unsigned int x)
{
    count=x;
    CpuTimer0Regs.TCR.bit.TSS=0;                这是延时程序,用定时器中断做延时,调用delay的时候打开timer0,然后while一直在判断count是否为0,为0的时候说
    while(count);                                                   明定时时间到了,关闭定时器
    CpuTimer0Regs.TCR.bit.TSS=1;
}

interrupt void timer0(void)
{

times++;
count--;
CpuTimer1Regs.TCR.bit.TIF = 1;                                              这是中断程序,count--,其中times是我用来统计进入中断次数用的
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;                      本例中count=100,count减到0的时候定时器并没有停止,times的值也一直再加,已经
EINT;                                                                                              超过100了。我这样想个应该没问题吧,请问定时器关不上的原因是什么呢?
}

相关帖子

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

本版积分规则

93

主题

289

帖子

5

粉丝