在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > SAM4E單片機之旅——7、LED閃爍之TC中斷

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

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

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

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

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

              一、 TC配置

              1. 在PMC中使能TC時鐘。

              2. 時鐘選擇。

              TC的每個通道內(nèi)部都有一個32位的計數(shù)器。可以為這個計數(shù)器選擇一個時鐘,使其以固定頻率步進。為使的閃爍頻率較低,需要選擇較小的時鐘周期。

              3. 波形及中斷選擇。

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

              選擇的波形如下:

                

            clip_image002

             

              在當(dāng)計數(shù)器的值和RC寄存器里的值相等時,會產(chǎn)生一個觸發(fā),使計數(shù)器重置,并重新開始計數(shù)。

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

              4. 使能通道。

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

              5. NVIC中使能中斷。

              該部分相關(guān)代碼如下,使用的通道是TC0的通道0,計時器頻率為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 /* 時鐘4: MCK/128 */

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

              ;

              /* 設(shè)置 RC */

              gUseTc.TC_RC = TC_RC_RC(31250);

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

              gUseTc.TC_IER = TC_IER_CPCS;

              /* 使能TC時鐘 */

              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ù)函數(shù)

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

              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ù)專區(qū)

            關(guān)閉