|
我用LPC2148做了个外部事件计数器。我的设定是在下降沿的时候, 计数器递增。 可是当频率超过20Hz, 计数器的值就每次递增2或更多, 而不是1。 哪位高手能指点一下。
void counter()
{
chars[30];
volatileunsigned long i;
volatile unsigned long ii;
uart0_init(9600); // Initial UART0
PINSEL0= (PINSEL0 & (~(0x03<<12))) |(0x02<<12); //cap0.2
T0PR =0;
T0CTCR= 0xA;
T0CCR= 0x00;
T0TC= 0;
T0TCR=0x01;
ii=0;
while (1)
{
i=T0TC;
if(i-ii==1)
{
sprintf(s,"1111111 TC= %x \r",T0TC);
uart0_puts(s);
ii=i;
}
else if(i>ii)
{
sprintf(s,"2222222 TC= %x\r",T0TC);
uart0_puts(s);
ii=i;
}
}
}
谢谢!
|
|