MSP430f2619學習 Timer A定時器

2021-10-06 08:21:22 字數 1527 閱讀 2237

msp430f2619學習—timer_a定時器

(1)時鐘源設定

tactl |= tassel_2 + id_3 + mc_1 + taclr;

此處選擇smclk,8分頻,向上計數模式,taclr位可清tar計數值;

(2)中斷配置

msp430f2619定時器a共有3個捕獲/比較暫存器,中斷配置涉及到的暫存器:tactl/tacctl0/tacctl1/tacctl2;

設定方法:

tactl |= taie;//溢位中斷允許

tacctl0 |= ccie;//捕獲/比較通道0中斷允許

tacctl1 |= ccie;//捕獲/比較通道1中斷允許

tacctl2 |= ccie;//捕獲/比較通道2中斷允許

,定時器a可在下列四種情況下會產生中斷,分別為:

1)主計數值計滿(或計至taccr0)後復位,taifg被置位,計數值從taccr0跳至0時產生中斷;

2)捕獲通道0發生捕獲事件,或主計數值tar計至taccr0,tacctl0暫存器的ccifg位置1,計數值從taccr0-1跳至taccr0時產生中斷;

3)捕獲通道1發生捕獲事件,或主計數值tar計至taccr1,tacctl1暫存器的ccifg位置1,計數值從taccr1-1跳至taccr1時產生中斷;

4)捕獲通道2發生捕獲事件,或主計數值tar計至taccr2,tacctl2暫存器的ccifg位置1,計數值從taccr2-1跳至taccr2時產生中斷;

四種情況產生的中斷共占用兩個中斷向量,其中第二種情況產生的中斷獨佔乙個中斷源timera0_vector,其餘三個共用中斷源timera1_vector,所以在使用這三種中斷時,需在中斷函式中進行判斷,使用到的暫存器為taiv:

設定好時鐘源和中斷後,設定好taccr0/taccr1/taccr2的值即可啟動定時器。
例如:smclk = 2m情況下

```c

void

timera_init

(void

)void

timera_start

(u16 tms)

u8 timera_timeout

(void

)#pragma vector=timera0_vector

__interrupt void

timera0_isr

(void

)#pragma vector=timera1_vector

__interrupt void

timera1_isr

(void

)}

學習msp430f5438初體驗

我選擇的是iar usb 器方案,這裡有很多問題需要注意 一,安裝軟體 二,使用軟體,1.建立工程沒有什麼難度,一般只要有過類似經驗的人都能完成,在工程的option裡面都是預設,可以不做任何修改。2.在工程中寫入一下 include msp430f5438.h int main void retu...

MSP430F5529學習筆記1

第一次學習微控制器相關知識,能力還不夠強,進度緩慢 通過在網上查詢,找到了乙份執行可成功完成led燈相應閃爍功能的 如下 include int main void 觀察到板子上有兩個led燈,該 控制閃爍的是p1.0的led1.0紅光閃爍 由於不清楚具體 含義,想要通過修改以下兩行 完成閃爍燈的轉...

MSP430F1612 常用術語

aclk auxiliaryclock 輔助時鐘 adcanalog to digitalconverter 模擬 數字 轉換器 borbrown outreset 掉電復位 bslbootstarploader 引導裝入 cpucentralprocessingunit 處理器 dacdigita...