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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LPC213x內(nèi)部RTC供電的問題

          LPC213x內(nèi)部RTC供電的問題

          作者: 時(shí)間:2012-08-30 來源:網(wǎng)絡(luò) 收藏
          大家問題的焦點(diǎn)是:在CPU處于掉電模式或者芯片未上電時(shí),使用后備電池和外部晶振能否正常工作。此文不討論如何為備用電池充電的問題,這屬于外圍電路設(shè)計(jì)。

          //時(shí)鐘初始化函數(shù)
          void RTC_Ini(void)
          {
          //PREINT = Fpclk / 32768 - 1;// 使用內(nèi)部時(shí)鐘,設(shè)置基準(zhǔn)時(shí)鐘分頻器
          //PREFRAC = Fpclk - (Fpclk / 32768) * 32768;

          YEAR = 2004;// 初化年
          MONTH = 11;// 初化月
          DOM = 1;// 初化日

          CIIR = 0x01;// 設(shè)置秒值的增量產(chǎn)生一次中斷
          ILR= 0x03;
          CCR= 0x11;// 啟動(dòng)RTC,使用獨(dú)立時(shí)鐘源

          VICIntSelect = 0x00;
          VICVectCntl3 = 0x20 | 13;
          VICVectAddr3 = (int)RTC_Int;
          VICIntEnable |= (1 13);
          }

          這個(gè)RTC初始化函數(shù)摘自一個(gè)使用作日歷時(shí)鐘的例子。
          在初始化代碼中,只設(shè)置了年月日寄存器,沒有設(shè)置時(shí)分秒寄存器,這樣在芯片上電時(shí)如果RTC正常工作的話那么其時(shí)分秒是正確的,而年月日會(huì)恢復(fù)到初始值。

          實(shí)際測(cè)試結(jié)果是,設(shè)置好當(dāng)前年月日、時(shí)分秒,然后拔除開發(fā)板電源后,再上電時(shí),時(shí)鐘的年月日恢復(fù)到初始值,時(shí)分秒走時(shí)正確。無論斷電時(shí)間長短,測(cè)試結(jié)果相同。
          也就是說,芯片掉電后使用外部電源和晶振依然可以工作,而且芯片復(fù)位并不會(huì)影響RTC的工作。

          內(nèi)部RTC使用外部電源時(shí)需要注意:
          =============選擇外部晶體振蕩器為RTC時(shí)鐘源=============
          如果要使用內(nèi)部RTC,那么Vbat引腳必須有電源。如果不使用內(nèi)部RTC,那么將該引腳接地。


          關(guān)鍵詞: LPC213x 內(nèi)部RTC 供電

          評(píng)論


          相關(guān)推薦

          技術(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); })();