|
定时器PCLK = 50MHz, 经分频后得62.5KHz, 按理就是62500次计数则为一秒,但在开发板上的led灯的亮灭速度明显更快,约为0.5秒的速度。求高人指点,下面是部分程序
注:MDIV = 92, PDIV = 4, SDIV = 1
void timer0_init()
{
rGPBCON &= ~(3<< 0);
rGPBCON |= (2<<0);
rTCFG0 &= ~(0xff);
rTCFG0 |= 99;
rTCFG1 &= ~(0XF);
rTCFG1 |= 0x02;
rTCNTB0 |= 62500;
//rTCMPB0 = rTCNTB0/2;
//rTCNTO0
rTCON |= (1<<1); //开启手动更新位
rTCON = 0X09;
}
int Main()
{
unsigned int i;
int flag = 0;
led_init();
for(i = 0; i < 100; i++);
timer0_init();
while(1)
{
if(rSRCPND & (1<<10))
{
flag = !flag;
rSRCPND |= (1<<10);
}
if(1 == flag)
{
led_on();
}
else
{
led_off();
}
}
return 0;
}
|
|