MSP430 单片机C语言和汇编语言混合编程
4.2.2 汇编语言中断服务程序
;**********************************************************************
; 文件名: wdt_int.s43
; C语言和汇编语言混合编程,汇编语言源程序
; 看门狗定时器中断服务程序
;***********************************************************************
NAME WDT_ISR
#include msp430x14x.h ; 头文件
; ==============================================================
; 看门狗定时器中断服务程序
;================================================================
PUBLIC wdt_isr ; 导出函数名给C语言函数
RSEG CODE
wdt_isr
xor.b #001h,P1OUT ; 触发 P1.0,led 亮灭转换
reti ; 中断返回
;================================================================
COMMON INTVEC(1) ; 中断向量段
;================================================================
ORG WDT_VECTOR
DW wdt_isr
END
5 结束语
以上方法已用于笔者的实际项目,取得良好效果,但是要注意编译器的某些选项对程序生成代码是有影响的。例如:汇编语言函数对标号大小写敏感与否,影响C语言函数的变量名、程序名。若使用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语言教程
评论