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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > s3c2440定時(shí)器簡(jiǎn)介

          s3c2440定時(shí)器簡(jiǎn)介

          作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
          S3c2440 有5 個(gè)16 位的定時(shí)器。定時(shí)器0、1、2、3 有脈寬調(diào)制功能(PWM)。定時(shí)器4有一個(gè)沒(méi)有輸出引腳的內(nèi)部定時(shí)器。定時(shí)器0 有一個(gè)用于大電流設(shè)備的死區(qū)生成器。
          定時(shí)器0 和1 共享一個(gè)8 位的預(yù)分頻器(預(yù)定標(biāo)器),定時(shí)器2,3,4 共享另一個(gè)8 位預(yù)分
          頻器.
          定時(shí)器的時(shí)鐘源為PCLK,首先經(jīng)過(guò)預(yù)分頻器降低頻率后,進(jìn)入第二個(gè)分頻.可以生成5 種不同的分頻信號(hào)(1/2,1/4,1/8,1/16 和TCLK)
          定時(shí)器啟動(dòng)后,TCNTn開(kāi)始減一計(jì)數(shù),當(dāng)TCNTn 等于TCMPn時(shí), TOUTn 反轉(zhuǎn), TCNTn繼續(xù)減數(shù).
          當(dāng)TCNTn= 0 時(shí), TOUTn 再次反轉(zhuǎn),并觸發(fā)中斷(中斷已經(jīng)使能).
          若TCON 設(shè)為自動(dòng)加載, TNCTn/TCMPNn 的值被重裝.
          寄存器:
          TCFG0: 配置兩個(gè)8 位預(yù)分頻器, [15:8] 此8 位決定定時(shí)器2,3,4 的預(yù)標(biāo)定器值,[7:0] 此8 位決定定時(shí)器0,1 的預(yù)標(biāo)定器值
          輸出頻率: = PCLK / (prescaler value + 1)
          TCFG1:
          用于設(shè)置第二個(gè)分頻.可以設(shè)置5 種不同的分頻信號(hào)(1/2,1/4,1/8,1/16 和TCLK)
          至此可得到
          定時(shí)器工作頻率=PCLK / (prescaler value + 1) / (divider value)
          divider value = 2,4,8, 16
          TCON: 定時(shí)器控制寄存器
          TCNTBn :設(shè)置一個(gè)被裝載到遞減計(jì)數(shù)器中的初始值。
          TCMPBn: 設(shè)置一個(gè)被裝載到比較寄存器中用來(lái)和遞減計(jì)數(shù)
          器的值作比較的初始值。
          TCNTOn : 通過(guò)讀取其可以得到TCNTBn 的值
          定時(shí)器初始化示例:
          void timer0_init(void)
          {
          TCFG0 = 99; // 預(yù)分頻器0 = 99
          TCFG1 = 0x03; // 選擇16分頻
          TCNTB0 = 31250; // 0.5秒鐘觸發(fā)一次中斷
          TCON |= (1<<1); // 手動(dòng)更新
          TCON = 0x09; // 自動(dòng)加載,清“手動(dòng)更新”位,啟動(dòng)定時(shí)器0
          }


          關(guān)鍵詞: S3C2440定時(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); })();