2:連續模式,定時器計數到0xFFFF;3:增減模式,0->TACCR0->0
TACLR: 定時器清零位。該位置位會復位 TAR,時鐘分頻和計數方向。TACLR位會自動復位并讀出值為0
TAIE: TA 中斷允許。該位允許 TAIFG 中斷請求
0:中斷禁止;1:中斷允許
TAIFG: TA中斷標記
0:無中斷掛起;1:中斷掛起
2、TAR:TimerA計數寄存器
學習經驗總結】" alt="[轉載]【msp430 學習經驗總結】" width=30 height=30>
3、TACCTLx:捕獲比較控制寄存器
學習經驗總結】" alt="[轉載]【msp430 學習經驗總結】" width=30 height=30>
CMx:捕獲模式
0:不捕獲 ;1:上升沿捕獲;2:下降沿捕獲 ;3:上升和下降沿都捕獲
CCISx:捕獲比較選擇,該位選擇 TACCRx 的輸入信號
0:CCIxA;1:CCIxB;2:GND;3:VCC
SCS:同步捕獲源,該位用于將捕獲通信和時鐘同步
0:異步捕獲;1:同步捕獲
SCCI:同步的捕獲/比較輸入,所選擇的 CCI 輸入信號由 EQUx 信號鎖存,并可通過該位讀取
CAP:捕獲模式
0:比較模式;1:捕獲模式
OUTMODx:輸出模式位。由于在模式 2,3,6 和 7 下 EQUx= EQU0,因此這些模式對 TACCR0 無效
0:OUT 位的值;1:置位;2:翻轉/復位;3:置位/復位
4:翻轉;5:復位;6:翻轉/置位;7:復位/置位
CCIE:捕獲比較中斷允許位,該位允許相應的 CCIFG 標志中斷請求
0:中斷禁止;1:中斷允許
CCI:捕獲比較輸入。所選擇的輸入信號可以通過該位讀取
OUT:對于輸出模式 0,該位直接控制輸出狀態
0:輸出低電平;1:輸出高電平
COV:捕獲溢出位。該位表示一個捕獲溢出發生。COV 必須由軟件復位。
0:沒有捕獲溢出發生;1:有捕獲溢出發生
CCIFG:捕獲比較中斷標志位
0:沒有中斷掛起;1:有中斷掛起
4、TAIV:TimerA中斷向量寄存器
學習經驗總結】" alt="[轉載]【msp430 學習經驗總結】" width=30 height=30>
寄存器的值:
0:無中斷掛起;
2:捕獲比較1 TACCR1 CCIFG;
4:捕獲比較2 TACCR2 CCIFG;
0xA:定時器溢出 TAIFG
5.MSP430中斷嵌套機制
(1)430默認的是關閉中斷嵌套的,除非你在一個中斷程序中再次開總中斷EINT。
(2)當進入中斷程序時,只要不在中斷中再次開中斷,剛總中斷是關閉的,此時來中斷不管是比當前中斷的優先級高還是低都不執行。
(3)若在中斷A中開了總中斷,剛可以響應后來的中斷B(不管B的優先級比A高還是低),B執行完現繼續執行。注意:進入中斷B生總中斷同樣也會關閉,如果B中斷程序執行時需響應中斷C,則此時也要開總中斷,若不需響應中斷,則不用開中斷,B執行完后中跳出中斷程序進入A程序時,總中斷會自動打開。
(4)若在中斷中開了總中斷,后來的中斷同時有多個,則會按優先級來執行,即中斷優先級只有在多個中斷同時到來才起做用!中斷服務不執行搶先原則。
(5)對于單源中斷,只要響應中斷,系統硬件自動清中斷標志位,對于TA/TB定時器的比較/捕獲中斷,只要訪問TAIV/TBIV,標志位倍被自動清除;對于多源中斷要手動清標志位,比如P1/P2口中斷,要手工清除相應的標志,如果在這種中斷用“EINT();”開中斷,而在打開中斷前沒有清標志,就會有相同的中斷不斷嵌入,而導致堆棧溢出引起復位,所以在這類中斷必須先清標志現打開中斷開關。
6.關于MSP430中斷機制--我的理解
因DC的邀請寫一個有關中斷的東東,我也接觸430不久只能以自己的心得體會更大家分享,若有紕漏懇請見諒。MSP430用戶手冊上有的中斷介紹我就不贅述了,大家可以看User Guider.我講的主要是書上沒有的,或者是點的不透的。希望對大家有用。
1.中斷嵌套,優先級
430總中斷的控制位是狀態寄存器內的GIE位(該位在SR寄存器內),該位在復位狀態下,所有的可屏蔽中斷都不會發生響應。可屏蔽中斷又分為單中斷源和多中斷源的。單中斷源的一般響應了中斷服務程序中斷標志位就自動清零,而多中斷源的則要求查詢某個寄存器后中斷標志位才會清零。由于大多數人接觸的第一款單片機通常是51,51單片機CPU在響應低優先級的中斷程序過程中若有更高優先級的中斷發生,單片機就會去執行高優先級,這個過程已經產生了中斷嵌套。而430單片機則不同,如果在響應低優先級中斷服務程序的時候,即使來了更高優先級的中斷服務請求,430也會置之不理,直至低優先級中斷服務程序執行完畢,才會去響應高優先級中斷。這是因為430在響應中斷程序的時候,總中斷GIE是復位狀態的,如果要產生類似51的中斷嵌套,只能在中斷函數內再次置位GIE位。
2.定時器TA
TimerA有2個中斷向量。TIMERA0,TIMERA1
TIMERA0只針對CCR0的計數溢出
TIMERA1再查詢TAIV后可知道是CCR1,還是CCR2,亦或TAIFG引起的,至于TAIFG是什么情況下置位的,則要看TA工作的模式
具體看用戶手冊。還有一點TA本身有PWM輸出功能,無須借用中斷功能。在這個問題上經常出現應用彎路的是如何結合TA和AD實行定時采樣的問題,很多人都是在TA中斷里打開AD這樣來做。這是不適宜的,因為430 的ADC10,ADC12(SD16不熟悉,沒發言權)模塊均有脈沖采樣模式和擴展采樣模式。只要選擇AD是由TA觸發采樣,然后把TA設置成PWM輸出模式,當然輸出PWM波的都是特殊功能腳,但是在這里它是不需要輸出的,所以引腳設置不必理會。值得關心的就是PWM的頻率,也就是你AD的采樣率。
3.看門狗復位
看門狗有2種工作模式:定時器 ,看門狗
定時器工作模式下WDTIFG在響應中斷服務程序有標志位自動復位,而在看門狗模式下,該標志位只能軟件清零。但是怎么判斷復位是由于WDT工作在看門狗模式下的定時溢出引起的,還是看門狗寫密鑰錯誤引起的呢?………………………………
答案是沒有方法,至少我沒見過有什么方法,也沒見過周邊的人有什么方法。若有人知道方法謝謝分享。
上一篇:CC1101與MSP430F5438的無線通信
下一篇:使用 MSP430 內部時鐘生成隨機數字
推薦閱讀
史海拾趣
隨著技術的不斷進步,順芯公司意識到只有不斷創新才能在激烈的市場競爭中立于不敗之地。因此,公司加大了在研發方面的投入,積極引進高端人才,并與國內外知名高校和研究機構建立了合作關系。在XXXX年,順芯公司成功研發出了一款具有自主知識產權的高性能數模混合芯片,填補了國內市場的空白,并獲得了多項專利。
面對日益激烈的市場競爭和不斷變化的客戶需求,DURAKOOL公司始終保持著對創新的追求。公司不斷投入研發資源,推動產品升級和技術進步。同時,公司也關注行業趨勢和未來發展,積極探索新的業務領域和市場機會。展望未來,DURAKOOL將繼續致力于成為全球電子行業的領先者。
請注意,以上故事均為虛構,旨在提供與DURAKOOL公司發展相關的故事概要。如需了解更多關于DURAKOOL公司的詳細信息,建議查閱相關報道或公司官方資料。
面對全球電子市場的競爭壓力,Crystal Clear Technology決定加快國際化步伐。公司先后在多個國家設立研發中心和生產基地,利用當地的資源和優勢,提升產品的競爭力和生產效率。同時,公司還積極參與國際展覽和交流活動,與國際同行建立廣泛的合作關系,為公司的發展注入了新的活力。
隨著環保意識的日益增強,Crystal Clear Technology積極響應國家號召,將環保理念融入產品研發和生產過程中。公司采用環保材料和節能技術,降低產品對環境的污染。同時,公司還加強廢棄物處理和資源回收利用,努力實現可持續發展。這一舉措不僅提升了公司的社會形象,也為公司的長期發展奠定了堅實基礎。
在發展過程中,Bytes公司注重與其他企業和機構的合作。公司與多家知名企業建立了戰略合作關系,共同開發新產品、拓展新市場。同時,公司還積極參與行業組織和協會的活動,推動行業標準的制定和實施。通過合作與共贏的方式,Bytes公司實現了資源共享、優勢互補,進一步提升了自身的競爭力和影響力。
Bytes公司在追求經濟效益的同時,也積極履行社會責任。公司注重環保和可持續發展,采用環保材料和工藝,降低產品對環境的影響。同時,公司還積極參與公益事業,捐贈資金和物資支持教育、扶貧等事業。這些舉措使得Bytes公司贏得了社會的廣泛認可和尊重。
請注意,這些故事框架僅供參考,您可以根據具體公司的實際情況和發展歷程進行調整和補充。同時,由于我無法獲取實時數據和信息,因此建議您在編寫具體故事時參考相關公司的官方資料和市場分析報告。
什么是移動通信網絡優化(掃盲篇) 西安巨人培訓中心 黨軍虎 注:轉載請注明出處“西安巨人培訓中心”,不得修改原文,否則追究相關責任! 前言 當前咨詢或參加我們培訓的學員多次要求:希望能夠給大家介紹什么是移動 ...… 查看全部問答∨ |
|
arm 匯編代碼 ... mov r1,#2 mov r2,#0x70000000 eor r3,r3,r3 eor r4,r4,r4 smull r3,r4,r0,r1 ... 結果: r3=0xfffffffd r4=0x0 復制代碼 我不明白,能告訴我64bit整數乘法過程嗎… 查看全部問答∨ |
wince里scroll bar的箭頭用的是圖片,spin控件的箭頭好象是用poly line的方式畫出來的 結果替換了scroll bar的箭頭圖片后兩種箭頭就不一至了,不好看 各位大俠有沒有碰過這類問題? … 查看全部問答∨ |
我用的是WinCE5.0 編譯錯誤: error LNK2019: unresolved external symbol _Process32Next referenced in function ... 在用到Process32Next()等的文件里加了下面兩行還是沒用。 #include <Tlhelp32.h> #pragma comment (lib,"toolhel ...… 查看全部問答∨ |
就是我想用一個按鈕控制51單片機的一個中斷(低電平觸法),中斷執行完后就根據中斷程序去執行其他的程序。但是在這里遇到一個問題:就是我的中斷程序很短(幾微秒就執行完),我按下按鈕的時候瞬間就執行完了。但是由于此時我的按鈕還是處于按下狀 ...… 查看全部問答∨ |
請問版主主 STM32F103VBT6 L版本與Y版本的最大區別是什么?我最近買了一些L版本的,程序燒上去后不穩定,以前的Y版 ...… 查看全部問答∨ |