<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > stm8s開(kāi)發(fā)(五) TIMER的使用:定時(shí)!

stm8s開(kāi)發(fā)(五) TIMER的使用:定時(shí)!

作者: 時(shí)間:2017-09-18 來(lái)源:網(wǎng)絡(luò ) 收藏

  STM8S提供三種類(lèi)型的TIM 定時(shí)器:高級控制型(TIM1)、通用型(TIM2/TIM3/TIM5)和基本型定時(shí)器(TIM4/TIM6)。它們雖有不同功能但都基于共同的架構。此共同的架構使得采用各個(gè)定時(shí)器來(lái)設計應用變得非常容易與方便(相同的寄存器映射,相同的基本功能)。

本文引用地址:http://dyxdggzs.com/article/201709/364419.htm

    

 

  使用定時(shí)可以確定一個(gè)時(shí)間片,方便控制發(fā)送速率,采樣速率,等等一些對時(shí)間要求比較高的任務(wù),而這些操作可以放入定時(shí)器中斷里面執行。這次的例子,定時(shí)1s,讓LED燈翻轉一次,達到2s閃爍一次的效果。由于定時(shí)操作簡(jiǎn)單,我們使用基本定時(shí)器:4

  void Init_Timer4(void)

  {

  //128分頻 256計數,在16MHz下是2.048ms一次中斷!

  //128分頻 256計數,在128KHz下是256ms一次中斷!

  TIM4_CR1=0x00;//關(guān)閉計數器

  //TIM4_IER=0x00;

  TIM4_IER=0x01;//更新中斷使能

  TIM4_EGR=0x01;

  TIM4_CNTR=255;//計數器值

  TIM4_ARR=255;//自動(dòng)重裝的值

  TIM4_PSCR=0x07;//分頻值

  TIM4_CR1=0x01;//使能計數器

  }

  值得注意的是,如果我們使用16M為主時(shí)鐘的話(huà),通過(guò)最大分頻和最大計數,我們也最多能達到2.048ms的定時(shí)時(shí)間。同理,使用128K為主時(shí)鐘的話(huà),最多能達到256ms的定時(shí)時(shí)間。

  接下來(lái)是定時(shí)終端函數,在函數中我們可以其他操作:

  u16 i=0;

  #pragma vector = TIM4_OVR_UIF_vector //0x19

  __interrupt void TIM4_OVR_UIF_IRQHandler(void)

  {

  i++;

  TIM4_SR=0x00;

  if(i==488) //2.048*488=1000ms

  {

  LED_Reverse();

  i=0;

  }

  }

  這里變量 i 用于計算進(jìn)入中斷的次數,如果我們需要1s翻轉LED一次的話(huà),則需要進(jìn)入中斷488次。

  當中斷返回后, 定時(shí)器會(huì )自動(dòng)重載:(TIM4_ARR=255;//自動(dòng)重裝的值)

  定時(shí)器定時(shí)時(shí)間與計數器的值有關(guān):(TIM4_CNTR=255;//計數器值)

  同時(shí)也和分頻值有關(guān):(TIM4_PSCR=0x07;//分頻值)

  開(kāi)啟個(gè)關(guān)閉寄存器只需要修改TIM4_CR1寄存器:(TIM4_CR1=0x00;//關(guān)閉計數器 TIM4_CR1=0x01;//使能計數器 )

  附上在IAR環(huán)境下的項目工程,包括了SPI、IIC、PWM、AWU、USART、EEPROM等片上硬件的初始化代碼。

  http://download.csdn.net/detail/devintt/9454188



關(guān)鍵詞: stm8s TIMER

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>