<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LPC 學(xué)習(xí)筆記之定時(shí)器

          LPC 學(xué)習(xí)筆記之定時(shí)器

          作者: 時(shí)間:2016-11-11 來源:網(wǎng)絡(luò) 收藏
          對(duì)LPC定時(shí)器與時(shí)間相關(guān)的寄存器有PC,PR,TC,MR。

          PC--------預(yù)分頻計(jì)數(shù)寄存器
          PR--------預(yù)分頻寄存器
          TC--------定時(shí)計(jì)數(shù)寄存器
          MR--------匹配寄存器
          TCR-------定時(shí)器/計(jì)數(shù)器控制寄存器

          本文引用地址:http://www.ex-cimer.com/article/201611/316909.htm

          if(PR == PC)
          {
          PC = 0;
          TC += 1;
          }
          if{TC == MR}
          {
          根據(jù)MCR的設(shè)置進(jìn)行相應(yīng)的動(dòng)作:
          1,定時(shí)器產(chǎn)生中斷
          2,TC = 0即TC清零
          3,停止定時(shí)器TC,PC停止,TCR[0] = 0;即停止定時(shí)器/計(jì)數(shù)器。
          }

          LPC中的定時(shí)器只能向上計(jì)數(shù),即從0開始計(jì)數(shù)。
          PC每個(gè)PCLK 周期加1 。當(dāng)其值到達(dá)預(yù)分頻寄存器中保存的值時(shí),定時(shí)器計(jì)數(shù)器 TC加1 ,預(yù)分頻計(jì)數(shù)器在下個(gè)PCLK 周期復(fù)位。例如,當(dāng)PR=0 時(shí),定時(shí)器計(jì)數(shù)器每個(gè) PCLK 周期加1 ,當(dāng) PR=1 時(shí)定時(shí)器計(jì)數(shù)器每 2 個(gè)PCLK 周期加1 ,以此類推。

          根據(jù)文檔描述“當(dāng)PR=0 時(shí),定時(shí)器計(jì)數(shù)器每個(gè) PCLK 周期加1”這說明對(duì)PCLK進(jìn)行了分頻,這就說明了PR為什么叫做預(yù)分頻寄存器的原因了。但是如果定時(shí)器的PCLK是24MHz的,按理說PR=0時(shí),應(yīng)是12MHZ,但是從示波器上來看好像不是不知為什么?但是對(duì)于毫秒的定時(shí),按照文檔說明的推理和現(xiàn)實(shí)示波器的測(cè)了是準(zhǔn)確無誤的。

          定時(shí)時(shí)間 = PCLK / (2PR); 為什么乘2呢?是因?yàn)榉诸l的原因,不要忘記當(dāng)PR=0時(shí)也是有分頻作用的哦!



          關(guān)鍵詞: LPC定時(shí)

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();