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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM8L探索套件學(xué)習(xí)筆記-TIM定時(shí)器(五)

          STM8L探索套件學(xué)習(xí)筆記-TIM定時(shí)器(五)

          作者: 時(shí)間:2016-11-24 來(lái)源:網(wǎng)絡(luò) 收藏
          STM8L的定時(shí)器分:高級(jí)定時(shí)器TIM1,通用定時(shí)器TIM2/3/5,基礎(chǔ)定時(shí)器TIM4。其中高級(jí)定時(shí)器和通用定時(shí)器都是16位定時(shí)器,不同之處高級(jí)定時(shí)器有DMA功能,基礎(chǔ)定時(shí)器是8位定時(shí)器,它們的更詳細(xì)功能可以參考說(shuō)明手冊(cè)。

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

          今天我們使用基礎(chǔ)定時(shí)器TIM4做一個(gè)延時(shí)的任務(wù),采用兩種方式實(shí)現(xiàn):查詢(xún)和中斷的方法。

          1查詢(xún)的方法就是查詢(xún)狀態(tài)寄存器中的UIF位(update interrupt flag)是否置位,主要代碼:

          void delay_ms(u16 n_ms)

          {

          /* Init TIMER 4 */

          CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, ENABLE);

          /* Init TIMER 4 prescaler: / (2^6) = /64 */

          TIM4->PSCR = 6;

          /* HSI div by 1 --> Auto-Reload value: 16M / 64 = 1/4M, 1/4M / 1k = 250*/

          TIM4->ARR = 250;

          /* Counter value: 2, to compensate the initialization of TIMER*/

          TIM4->CNTR = 2;

          /* clear update flag */

          TIM4->SR1 &= ~TIM4_SR1_UIF;

          /* Enable Counter */

          TIM4->CR1 |= TIM4_CR1_CEN;

          while(n_ms--)

          {

          while((TIM4->SR1 & TIM4_SR1_UIF) == 0) ;

          TIM4->SR1 &= ~TIM4_SR1_UIF;

          }

          /* Disable Counter */

          TIM4->CR1 &= ~TIM4_CR1_CEN;

          }



          評(píng)論


          技術(shù)專(zhuān)區(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); })();