求大神帮助,看看这几句是什么意思
时间:10-02
整理:3721RD
点击:
DSP里的几句代码,愣是啥也看不懂
#define EINT asm(" clrc INTM")
#define DINT asm(" setc INTM")
#define ERTM asm(" clrc DBGM")
#define DRTM asm(" setc DBGM")
#define EALLOW asm(" EALLOW")
#define EDIS asm(" EDIS")
#define ESTOP0 asm(" ESTOP0")
#define EINT asm(" clrc INTM")
#define DINT asm(" setc INTM")
#define ERTM asm(" clrc DBGM")
#define DRTM asm(" setc DBGM")
#define EALLOW asm(" EALLOW")
#define EDIS asm(" EDIS")
#define ESTOP0 asm(" ESTOP0")
宏定义语句,这7条都一样,
比如:#define EINT asm(" clrc INTM")
程序执行中凡是遇到EINT,都自动替换为asm(" clrc INTM"),
这个asm(" clrc INTM")看起来像是一个函数,名称为asm,形参是字符串(" clrc INTM"),
只需要找到这个asm()函数,你自然就知道是什么意思了
预定义啊,主要看asm括号里面的 语句是什么意思
#defined 这是宏定义 ,可以简单的理解成在程序中后面的部分可以又前面的部分表示吧
一、参考DSP281x_Device.h
#define EINT asm(" clrc INTM") //INTM置0,开中断
#define DINT asm(" setc INTM") //INTM置1,关中断
#define ERTM asm(" clrc DBGM") //使能调试事件
#define DRTM asm(" setc DBGM") //禁止调试事件
这就很清楚了撒 宏定义的 EINT表示INTM开中断 DINT表示关中断嘛