资源描述
1---------------------------------------------------
//开关总中断的宏定义
#define ENABLE_INTERRUPTS asm("cli") //开中断
#define DISABLE_INTERRUPTS asm("sei") //关中断
在"hidef.h"头文件里是这样定义的
#define EnableInterrupts {__asm CLI;}
#define DisableInterrupts {__asm SEI;}
不过上面这个和下面这个没什么区别吧,我要找的是 asm("cli") 或 asm("sei") 的定义啊
#define ENABLE_INTERRUPTS asm("cli") //开中断
#define DISABLE_INTERRUPTS asm("sei") //关中断
没区别,这两种都是C里嵌入汇编的一种形式,通用的!
2---------------------------------------------------
void main(void)
{
PPSJ_PPSJ0=0; //PJ0口触发方式 上升沿触发
PIEJ_PIEJ0=1; //PJ0中断使能
PLL_Init();
PWM_Init();
DDRB=0XFF;
PORTB=0X00;
EnableInterrupts;
for(;;)
{
}
}
#pragma CODE_SEG NON_BANKED
void interrupt 24 zhongduan(void) //H口是通用的 中断向量是25(P口同样)
{
PIFJ_PIFJ0=1; //清除中断标志位
PORTB=0XFF;
Input_Num++;
PORTB=Input_Num;
if(Input_Num>=255)
{
Input_Num=0;
}
}
/*调试通过的外部中断触发*/
3----------------------------------------------------
展开阅读全文