打印
[技术问答]

关于NANO120的一个定时器的问题

[复制链接]
1686|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
缥缈九哥|  楼主 | 2013-12-5 13:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
        在开发中遇到一个问题。为了省电,定时器0的10MS定时,的时钟用了LXT的低速的。启动计数器的寄存器会写不成功。可能解释成外设模块的寄存器的时钟也是给切换成了LXT的。所以在高速总线下写低速外设的寄存器不成功。为什么外设的寄存器不是用高速总线的呢?希望有高人能解释一下。谢谢。
    但是以后如何防止低速外设的寄存器写入了却不成功不启动的事?想想有时候觉得很恐怖的,谁知道它什么时候会写入不成功呢?每一个寄存器,变量付值都要确认一遍,或者多遍等到付值成功的话是不是很郁闷?现在凑合那么用了。
void TIM0_Configuration(void)
{
        UNLOCKREG();
        /* Enable TIMER0 clock */
        CLK->APBCLK    |= CLK_APBCLK_TMR0_EN;
        /* Select 32.768 Khz LXT */
        CLK->CLKSEL1         = (CLK->CLKSEL1 & ~CLK_CLKSEL1_TMR0_MASK) | CLK_CLKSEL1_TMR0_LXT ;
        /* Select 12Mhz HIRC */
//        CLK->CLKSEL1         = (CLK->CLKSEL1 & ~CLK_CLKSEL1_TMR0_MASK) | CLK_CLKSEL1_TMR0_HIRC;

//        CLK->TESTCLK = 0x80 + 0x03;        //MCLKO : MCLK_EN=1;MCLK_SEL=LXT;
//        CLK->TESTCLK = 0x80 + 0x20;        //MCLKO : MCLK_EN=1;MCLK_SEL=TMR0_CLK;
       
        /* Using TIMER0 in PERIODIC_MODE */
        TIMER0->CTL = (TIMER0->CTL & ~TIMER_CTL_MODESEL_MASK) | TIMER_CTL_MODESEL_PERIODIC;
        TIMER0->PRECNT         = 7;
        TIMER0->CMPR         = 41;                // Timer CLK = 32.768KHZ / (7 + 1) = 4096HZ         // INT= 99.9HZ = 10.01MS
//        TIMER0->CMPR         = 15000;                // Timer CLK = 12.000MHZ / (7 + 1) = 1500000HZ         // INT= 100 HZ = 10.00MS
    /* Enable TIMER0 Intettupt */
        TIMER0->ISR = TIMER0->ISR;  // clear pending interrupt
        TIMER0->IER |= TIMER_IER_TMRIE;
        NVIC_EnableIRQ(TMR0_IRQn);
    /* Start counting */
        TIMER0->CTL |= TIMER_CTL_TMREN;
       
        int i=0;
        while((TIMER0->CTL&0x80) != 0x80)
        {
                TIMER0->CTL |= TIMER_CTL_TMREN;i++;
        }
        DBG_PRINTF("Do %d times TIMER0->CTL=%x\n\r",i,TIMER0->CTL);
}

可以从半主机中看到要连续付107次才能成功启动定时器0.
沙发
niuyaliang| | 2013-12-5 15:49 | 只看该作者
本帖最后由 niuyaliang 于 2013-12-8 21:55 编辑

用M058S,选择内部10KHZ频率,一次就写成功啦

使用特权

评论回复
板凳
骗子的片子| | 2014-1-19 15:46 | 只看该作者
怎么会这样,楼上一次就成功了

使用特权

评论回复
地板
zxf0168| | 2014-2-3 18:49 | 只看该作者
貌似没问题啊,不是普遍现象吧

使用特权

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

本版积分规则

个人签名:童时不懂世事艰,笑谈学成锦衣还。岁月无声已先过,男儿有泪空自弹。    莫待沾霜愁上发,须嬴吐气喜开颜。拼搏半年誓如愿,不到长城心不甘。

67

主题

1871

帖子

270

粉丝