<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è) > 嵌入式系統 > 設計應用 > SAM4E單片機之旅——7、LED閃爍之TC中斷

SAM4E單片機之旅——7、LED閃爍之TC中斷

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

  RTT主要用做一個(gè)全局的定時(shí)器,而且不太通用?,F在嘗試使用一個(gè)更為通用的定時(shí)器進(jìn)行定時(shí):定時(shí)計數器(Timer Counter, TC)。

本文引用地址:http://dyxdggzs.com/article/201702/343520.htm

  TC提供了廣泛的功能,主要可以分為對輸入的測量,以及波形的輸出。同樣,它可以產(chǎn)生一系列的中斷。這一次將使TC以一個(gè)固定的周期產(chǎn)生中斷,以達到定時(shí)的目的。

  一、 TC配置

  1. 在PMC中使能TC時(shí)鐘。

  2. 時(shí)鐘選擇。

  TC的每個(gè)通道內部都有一個(gè)32位的計數器??梢詾檫@個(gè)計數器選擇一個(gè)時(shí)鐘,使其以固定頻率步進(jìn)。為使的閃爍頻率較低,需要選擇較小的時(shí)鐘周期。

  3. 波形及中斷選擇。

  當TC工作在波形輸出模式下時(shí),可以為輸出選擇若干種波形。在這里,不需要關(guān)心具體的波形,而是要關(guān)注每個(gè)波形模式下,計數器的工作方式,以及產(chǎn)生中斷的時(shí)機。

  選擇的波形如下:

    

clip_image002

 

  在當計數器的值和RC寄存器里的值相等時(shí),會(huì )產(chǎn)生一個(gè)觸發(fā),使計數器重置,并重新開(kāi)始計數。

  在輸出模式下,可以選擇在計數器的值在與RA、RB、和(或)RC相等時(shí),產(chǎn)生中斷。這里選擇與RC值相同時(shí)中斷。

  4. 使能通道。

  首先需要使能(enable)通道時(shí)鐘,并且需要啟動(dòng)(start)這個(gè)時(shí)鐘??梢酝ㄟ^(guò)訪(fǎng)問(wèn)TC_CCR寄存器使能時(shí)鐘,同時(shí)可以產(chǎn)生一個(gè)軟觸發(fā),以啟動(dòng)時(shí)鐘。

  5. NVIC中使能中斷。

  該部分相關(guān)代碼如下,使用的通道是TC0的通道0,計時(shí)器頻率為MCK/128,RC值為31250,即每一秒產(chǎn)生一次中斷。

  #define gUseTc TC0->TC_CHANNEL[0]

  void ConfigTC(void)

  {

  PMC->PMC_PCER0 = (1 << ID_TC0);

  gUseTc.TC_CMR =

  TC_CMR_WAVE /* 波形模式 */

  | TC_CMR_TCCLKS_TIMER_CLOCK4 /* 時(shí)鐘4: MCK/128 */

  | TC_CMR_WAVSEL_UP_RC; /* 波形,僅上升,且RC比較時(shí)自動(dòng)觸發(fā) */

  ;

  /* 設置 RC */

  gUseTc.TC_RC = TC_RC_RC(31250);

  /* RC 比較時(shí)產(chǎn)生中斷 */

  gUseTc.TC_IER = TC_IER_CPCS;

  /* 使能TC時(shí)鐘 */

  gUseTc.TC_CCR = TC_CCR_CLKEN | TC_CCR_SWTRG;

  /* NVIC */

  NVIC_DisableIRQ(TC0_IRQn);

  NVIC_ClearPendingIRQ(TC0_IRQn);

  NVIC_SetPriority(TC0_IRQn, 1);

  NVIC_EnableIRQ(TC0_IRQn);

  }

  1

  二、 TC中斷服務(wù)函數

  僅需改變引腳的電平即可。

  void TC0_Handler(void)

  {

  uint32_t status = gUseTc.TC_SR;

  /* 判斷中斷是否為RC比較觸發(fā)的 */

  if (status & TC_SR_CPCS)

  {

  if ((_PIOC->PIO_ODSR & LED_PIO))

  {

  LED_PIOC->PIO_CODR = LED_PIO;

  }

  else

  {

  LED_PIOC->PIO_SODR = LED_PIO;

  }

  }

  }



關(guān)鍵詞: SAM4E LED

評論


相關(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>