[NXP ARM] 有关定时器脉冲计数

[复制链接]
3640|17
 楼主| 无冕之王 发表于 2010-1-22 11:17 | 显示全部楼层 |阅读模式
以下是我使用Pin0.2捕获脉冲,捕获一次就产生一个中断,然后用一个全局变量计数,是否有一些轻量级的做法,为什么不能直接读一个计数寄存器呢?

请各位高手指点,万分感谢!
#include <LPC21xx.H>

void T0isr(void)    __irq;
unsigned long count=0;

int main(void)
{
VPBDIV        = 0x00000002;                    //Set pclk to 30 Mhz
PINSEL0     = 0x00000020;                    //Enable pin 0.2 as capture channel0
T0PR         = 0x0000001E;                    //Load prescaler for 1 Msec tick
T0TCR         = 0x00000002;                    //Reset counter and prescaler
T0CCR         = 0x00000005;                    //Capture on rising edge of channel0
T0TCR         = 0x00000001;                    //enable timer

VICVectAddr4 = (unsigned)T0isr;             //Set the timer ISR vector address
VICVectCntl4 = 0x00000024;                    //Set channel
VICIntEnable = 0x00000010;                    //Enable the interrupt

while(1)
{
;
}
}


void T0isr (void)    __irq
{
static int value;
value         = T0CR0;                        // read the capture value
T0IR         |= 0x00000001;                    //Clear match 0 interrupt
VICVectAddr  = 0x00000000;                    //Dummy write to signal end of interrupt
count++;
                                       
}
华荣汇FAE1 发表于 2010-1-22 16:35 | 显示全部楼层
可以直接读取计数器的值
dfsa 发表于 2010-1-22 20:54 | 显示全部楼层
寄存器读出来的值,不就是计数器的值吗
xsgy123 发表于 2010-1-24 15:07 | 显示全部楼层
捕获寄存器读出来的值是定时器的值,处理后算出相应的频率和占空比
火箭球迷 发表于 2010-1-27 16:22 | 显示全部楼层
这个程序有点复杂
sinadz 发表于 2010-2-1 17:00 | 显示全部楼层
楼主是想算频率吗
baidudz 发表于 2010-2-1 22:05 | 显示全部楼层
难道只是想计脉冲的次数?
pkat 发表于 2010-2-2 17:49 | 显示全部楼层
如果楼主只是想计次数,在里面定义一个变量就可以了,没必要读寄存器吧
zwll 发表于 2010-2-2 23:14 | 显示全部楼层
楼主应该没这么简单吧
hsbjb 发表于 2010-2-4 18:13 | 显示全部楼层
捕获最终的目的都是算频率
xsgy123 发表于 2010-2-6 14:53 | 显示全部楼层
实质上就是捕获频率
yybj 发表于 2010-2-6 20:10 | 显示全部楼层
捕获都是以定时器为时基的,有的就直接把它归到定时器一章了
gxgclg 发表于 2010-2-7 13:17 | 显示全部楼层
就是增强型时间处理单元
yybj 发表于 2010-2-8 19:54 | 显示全部楼层
跟定时器不是一个概念吧
zwll 发表于 2010-2-15 20:46 | 显示全部楼层
不是寄存器读出来的值?
zwll 发表于 2010-2-22 00:39 | 显示全部楼层
楼主过大年还没过完啊
zwll 发表于 2010-2-22 00:39 | 显示全部楼层
都不来解决自己以前的问题了
 楼主| 无冕之王 发表于 2010-2-24 22:51 | 显示全部楼层
楼上的各位新年好,问题已解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:喜欢远行

160

主题

3331

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部