int timer_init(void)
{
multiple = CONFIG_SYS_EXTAL / USEC_IN_1SEC / OST_DIV_16;
/* select the TCNT count clock frequency for ost2 */
ost_writel(OSTCSR_PRESCALE(OST_DIV_16, OSTCSR_PRESCALE2), OSTCCR);
...
}
#define OST_DIV_16 2
#define OSTCSR_PRESCALE(n, o) (n << o)
OST2时钟为EXTAL的16分频,但是1us的计数值却是EXTAL/1000000/2,这个计数值不应该是8us吗,但是不管怎么调整,感觉这个定时都不准???
离线
你怎么测的定时不准?
我没注意过这个代码,但测试sleep 10ms的时间很准的,再小的时间片没测
离线