LPC1114 定时器初值计算?

2019-03-25 20:35发布

那位大哥知道LPC1114 定时器32初值计算是如何? 比如定时100ms,如何计算出定时器的初值啊? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
常见泽1
1楼-- · 2019-03-25 21:24
_NXP LPC1000_ http://bbs.eeworld.com.cn/thread-103593-3-2.html
LPC1343是相通的
周立功翻译的里面应该有简单介绍的
zhaojun_xf
2楼-- · 2019-03-26 01:26
  1. /**************************************************************************************
    * FunctionName   : Timer32Init()
    * Description    : 初始化定时器
    * EntryParameter : timerNum - 定时器选择;nMs - 时间间隔ms
    * ReturnValue    : None
    **************************************************************************************/
    void Timer32Init(uint8 timerNum, uint32 nMs)
    {
        if (timerNum == 0)
     {
      LPC_SYSCON->SYSAHBCLKCTRL |= (1<<9);            // 使能AHB时钟到TIMER32B0域
      LPC_TMR32B0->IR = 1;                // MR0中断
      LPC_TMR32B0->PR = 0;                               // 设置分频系数
      LPC_TMR32B0->MCR = 3;                              // 设置MR0匹配后复位TC, 并产生中断
      
      LPC_TMR32B0->MR0 = (SystemCoreClock/1000) * nMs;   // 设置中断时间
      NVIC_EnableIRQ(TIMER_32_0_IRQn);             // Enable the TIMER0 Interrupt
      Timer32Enable(0);
     }
     else
     {
      LPC_SYSCON->SYSAHBCLKCTRL |= (1<<10);            // 使能AHB时钟到TIMER32B1域
      LPC_TMR32B1->IR = 1;                // MR0中断
      LPC_TMR32B1->PR = 0;                               // 设置分频系数
      LPC_TMR32B1->MCR = 3;                              // 设置MR0匹配后复位TC, 并产生中断
      
      LPC_TMR32B1->MR1 = (SystemCoreClock/1000) * nMs;   // 设置中断时间
      NVIC_EnableIRQ(TIMER_32_1_IRQn);             // Enable the TIMER0 Interrupt
      Timer32Enable(1);
     }
    }
复制代码

一周热门 更多>