打印
[NXP ARM]

有关定时器脉冲计数

[复制链接]
2532|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 | 只看该作者
捕获寄存器读出来的值是定时器的值,处理后算出相应的频率和占空比

使用特权

评论回复
5
火箭球迷| | 2010-1-27 16:22 | 只看该作者
这个程序有点复杂

使用特权

评论回复
6
sinadz| | 2010-2-1 17:00 | 只看该作者
楼主是想算频率吗

使用特权

评论回复
7
baidudz| | 2010-2-1 22:05 | 只看该作者
难道只是想计脉冲的次数?

使用特权

评论回复
8
pkat| | 2010-2-2 17:49 | 只看该作者
如果楼主只是想计次数,在里面定义一个变量就可以了,没必要读寄存器吧

使用特权

评论回复
9
zwll| | 2010-2-2 23:14 | 只看该作者
楼主应该没这么简单吧

使用特权

评论回复
10
hsbjb| | 2010-2-4 18:13 | 只看该作者
捕获最终的目的都是算频率

使用特权

评论回复
11
xsgy123| | 2010-2-6 14:53 | 只看该作者
实质上就是捕获频率

使用特权

评论回复
12
yybj| | 2010-2-6 20:10 | 只看该作者
捕获都是以定时器为时基的,有的就直接把它归到定时器一章了

使用特权

评论回复
13
gxgclg| | 2010-2-7 13:17 | 只看该作者
就是增强型时间处理单元

使用特权

评论回复
14
yybj| | 2010-2-8 19:54 | 只看该作者
跟定时器不是一个概念吧

使用特权

评论回复
15
zwll| | 2010-2-15 20:46 | 只看该作者
不是寄存器读出来的值?

使用特权

评论回复
16
zwll| | 2010-2-22 00:39 | 只看该作者
楼主过大年还没过完啊

使用特权

评论回复
17
zwll| | 2010-2-22 00:39 | 只看该作者
都不来解决自己以前的问题了

使用特权

评论回复
18
无冕之王|  楼主 | 2010-2-24 22:51 | 只看该作者
楼上的各位新年好,问题已解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:喜欢远行

160

主题

3331

帖子

0

粉丝