打印
[牛人杂谈]

定时器

[复制链接]
543|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

1.

各通道有独立的时钟源(TMR0_CLK, TMR1_CLK, TMR2_CLK, TMR3_CLK)
时间溢出周期= (Period of timer clock input) * (8-bit Prescale + 1) * (24-bit TCMP)
最大计数周期= (1 / 25 MHz) * (2^8) * (2^24), if TCLK = 25 MHz
8位预分频计数器,带24位向上计数定时器
内部24位定时器的值,通过TDR(定时器数据寄存器)可读取

2.

每个通道带一个8位预分频计数器,一个24位向上计数器,一个24位比较寄存器和一个中断请求信号.

3.



4.定时器模式

#define TIMER_ONESHOT_MODE                  (0UL << TIMER_TCSR_MODE_Pos)


#define TIMER_PERIODIC_MODE                 (1UL << TIMER_TCSR_MODE_Pos)


#define TIMER_TOGGLE_MODE                   (2UL << TIMER_TCSR_MODE_Pos)


#define TIMER_CONTINUOUS_MODE               (3UL << TIMER_TCSR_MODE_Pos)


#define TIMER_CONTINUOUS_MODE               (3UL << TIMER_TCSR_MODE_Pos)

#define TIMER_CAPTURE_FREE_COUNTING_MODE    (0UL << TIMER_TEXCON_RSTCAPSEL_Pos)


#define TIMER_CAPTURE_COUNTER_RESET_MODE    (1UL << TIMER_TEXCON_RSTCAPSEL_Pos)


沙发
xuanhuanzi|  楼主 | 2018-12-25 15:32 | 只看该作者
5.定时器默认配置

    //配置计时器的时钟源

    CLK_EnableModuleClock(TMR1_MODULE);
    CLK_SetModuleClock(TMR1_MODULE, CLK_CLKSEL1_TMR0_S_HCLK, 12000);


    TIMER_Open(TIMER1, TIMER_CONTINUOUS_MODE, 1); 设置定时器模式




    TIMER_SELECT_TOUT_PIN(TIMER1, TIMER_TOUT_PIN_FROM_TX_PIN);  输出引脚
    TIMER_SET_PRESCALE_VALUE(TIMER1, 0);  定时器初值
    TIMER_SET_CMP_VALUE(TIMER1, 56789);   定时器比较值
    这行程序会让计数器不能计数  //TIMER_EnableEventCounter(TIMER1, TIMER_COUNTER_FALLING_EDGE);  定时器向上计数
    TIMER_EnableInt(TIMER1); 使能计时器




    NVIC_EnableIRQ(TMR1_IRQn); 使能定时器的中断




    TIMER_Start(TIMER1);  开始定时器




    TIMER_Close(TIMER1);  关闭定时器

6.

void TMR1_IRQHandler(void) 定时器中断。

中断向量以启动文件为标准。

使用特权

评论回复
板凳
gejigeji521| | 2018-12-25 20:45 | 只看该作者
讲的透彻。大家都说那个库有个函数多余。不知道官方什么时候更新。

使用特权

评论回复
地板
yiyigirl2014| | 2018-12-25 22:30 | 只看该作者
定时器的功能的确很强大。

使用特权

评论回复
5
Harvard| | 2018-12-25 22:35 | 只看该作者
库还是不错的  自己写宏定义  瞎折腾...  用官方的吧

使用特权

评论回复
6
xinpian101| | 2018-12-26 16:17 | 只看该作者
定时器还有个运放。

使用特权

评论回复
7
598330983| | 2018-12-29 23:41 | 只看该作者
定时器的计算很重要。要结合时钟源

使用特权

评论回复
8
磨砂| | 2019-1-8 09:33 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
观海| | 2019-1-8 11:09 | 只看该作者
楼主详解的很详细  感谢分享

使用特权

评论回复
10
paotangsan| | 2019-1-8 11:44 | 只看该作者
是用的外部晶振吗

使用特权

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

本版积分规则

155

主题

2084

帖子

2

粉丝