
资深技术员

- 积分
- 373
- 在线时间
- 154 小时
- 精华
- 0
- 注册时间
- 2019-7-2
- 最后登录
- 2020-11-15
|
M261的定时器,偏差很大,600秒差不多10秒的误差,咋办?
用了TIMER0作为定时器,采用内部高速时钟作为时钟源,系统时钟设置为4MHz.
- void TMR0_IRQHandler(void)
- {
- TMR0_COUNT++;
-
- TIMER_ClearIntFlag(TIMER0);
- }
- void TIMER0_INIT(void)
- {
- /* setting take effect */
-
- TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 1);
- CLK_SysTickDelay(50);
- /* Enable timer wake up system */
- TIMER_EnableWakeup(TIMER0);
- CLK_SysTickDelay(50);
- /* Enable Timer0 interrupt */
- TIMER_EnableInt(TIMER0);
- CLK_SysTickDelay(50);
- NVIC_EnableIRQ(TMR0_IRQn);
- /* Start Timer0 counting */
- TIMER_Start(TIMER0);
- CLK_SysTickDelay(50);
- }
复制代码 |
|