MSP430 單片機C語言和匯編語言混合編程
4.2.2 匯編語言中斷服務程序
;**********************************************************************
; 文件名: wdt_int.s43
; C語言和匯編語言混合編程,匯編語言源程序
; 看門狗定時器中斷服務程序
;***********************************************************************
NAME WDT_ISR
#include msp430x14x.h ; 頭文件
; ==============================================================
; 看門狗定時器中斷服務程序
;================================================================
PUBLIC wdt_isr ; 導出函數(shù)名給C語言函數(shù)
RSEG CODE
wdt_isr
xor.b #001h,P1OUT ; 觸發(fā) P1.0,led 亮滅轉換
reti ; 中斷返回
;================================================================
COMMON INTVEC(1) ; 中斷向量段
;================================================================
ORG WDT_VECTOR
DW wdt_isr
END
5 結束語
以上方法已用于筆者的實際項目,取得良好效果,但是要注意編譯器的某些選項對程序生成代碼是有影響的。例如:匯編語言函數(shù)對標號大小寫敏感與否,影響C語言函數(shù)的變量名、程序名。若使用ROM MONTIOR,則C編譯器要用-ur45選項編譯,并且匯編語言中只要使用R4和R5,都要加以保護,否則無法返回ROM MONTIOR。
參考文獻
[1] IAR MSP430 C Compiler Programming Guide
[2] IAR MSP430 Assembler, Linker and Librarian Programming Guide
[3] MSP430x3xx Family User’s Guide, literature number SLAU012
[4] MSP430x1xx Family User’s Guide, literature number SLAU049
[5] MSP430x4xx Family User’s Guide, literature number SLAU056
c語言相關文章:c語言教程
評論