社区导航

 
快捷导航
  • 首页
  • 论坛
  • 查看新帖
  • 最新回复
  • 社区活动
  • 联系管理员
  • 消灭零回复
  • E金币兑换
  • 干货
搜索
查看: 4418|回复: 5

[求助] 求助LPC1768 计数器的问题

[复制链接]

232

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-12-12 17:37:59 | 显示全部楼层 |阅读模式
小弟,最近正在学习lpc1768,现在学到了定时器,计数器这块,想用定时器0计时,定时器1做计数器,测试外部脉冲的频率,我设定的是P1.19脚为脉冲捕获输入口,部分代码如下:

static counter_init(void)      // 计数器1初始化
{
      SC->PCONP  |= (1<<1)|(1<< 2)|(1<<6);  // 配置外设功率寄存器,timer0,timer1,pwm1使能

    TIM1->CTCR  = 0x00000006;    // 下降沿计数,选择CAP1.1
      TIM1->TC   = 0;                      // 初始计数值位0
      TIM1->CCR = 0;                       //
      TIM1->IR   = 0xff;                    // reset all interrrupts
      TIM1->TCR  = 0x00;                 // 关闭计数器

    GPIO1->FIODIR &= (~(1<<19));     // P1.19做为输入引脚
    PINCON->PINSEL3 |= (3<<6);       // P1.19引脚设置为CAP1.1(捕获输入)
}

static timer0_init(void)                        // 定时器0 初始化
{
     timer0_counter = 0;
    TIM0 -> MR0 = TIME_INTERVAL;       // 定时10ms
    TIM0 -> MCR = 3;                                /* Interrupt and Reset on MR0 */

    NVIC_EnableIRQ(TIMER0_IRQn);        // 开启定时器0定时中断
        
   osc_clk_cnt = 0;
   TIM0 -> TCR = 1;                              // 启动定时器0
   TIM1 -> TCR = 1;                              // 启动计数器1
}



void TIMER0_IRQHandler (void)
{
  TIM0 -> IR = 1;                        /* clear interrupt flag */
  timer0_cnt++;

  if(timer0_cnt == 100){
           
    TIM0->TCR = 0;       // 关闭定时器      
    TIM1->TCR =  0;      // 关闭计数器

    osc_clk_cnt = TIM1->TC;        // 提取计数值
    timer0_cnt = 0;
  }

}


我用串口打印出读出的计数值,发现计数器是计的内部时钟(PCLK)的脉冲,没有计数引脚的脉冲,一直没弄明白是为什么,请大侠来点拨一下,小弟不盛感激!
此帖出自NXP LPC MCU论坛

点评

没有看你的代码,如果你用定时器计数,必须用定时器对应的管脚,不能随便选择管脚。如果你非要这样用,可以采用外部中断和定时器中断配合使用;如果用定时器对应的管脚,请设置好输入捕获。  详情 回复 发表于 2013-1-15 09:58


回复

使用道具 举报

291

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2013-1-14 17:06:25 | 显示全部楼层
lpc系列有库函数吗

点评

有库,你可以在NXP公司官方网上下载,不过用的人不是很多。。。。  详情 回复 发表于 2013-1-15 09:55


回复

使用道具 举报

5343

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2013-1-15 09:55:36 | 显示全部楼层

回复 沙发 xinjitmzy 的帖子

有库,你可以在NXP公司官方网上下载,不过用的人不是很多。。。。


回复

使用道具 举报

5343

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2013-1-15 09:58:02 | 显示全部楼层

回复 楼主 懒猫爱飞 的帖子

没有看你的代码,如果你用定时器计数,必须用定时器对应的管脚,不能随便选择管脚。如果你非要这样用,可以采用外部中断和定时器中断配合使用;如果用定时器对应的管脚,请设置好输入捕获。


回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-1-7 14:14:36 | 显示全部楼层
搞定了吗?我也碰到类似的应用问题


回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-3-17 09:05:35 | 显示全部楼层
解决了吗?我现在也遇到这个问题


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2017-11-18 19:46 , Processed in 0.299630 second(s), 17 queries , Redis On.

快速回复 返回顶部 返回列表