📄 isr.c
字号:
//-------------------------------------------------------------------------*
//文件名:isr.c *
//功 能:用于定义中断子函数 *
//-------------------------------------------------------------------------*
//头文件
#include "isr.h" //中断处理函数头文件
extern INT16U g_Count; //用于脉冲计数的变量
#pragma CODE_SEG __NEAR_SEG NON_BANKED
//ISR_PA:有效沿跳变捕捉中断处理函数----------------------------------------*
//功 能:捕捉到有效沿时,清PAIF标志位,并将当前的计数值存入全局变量g_Count *
//说 明:全局变量g_Count:记录当前的脉冲累加器计数值 *
//-------------------------------------------------------------------------*
__interrupt 18 void ISR_PA(void)
{
DISABLE_INTERRUPTS; //禁止中断
PAFLG |= (1<<PAIF); //清空标志位
g_Count = PACN32; //读取计数值,必须一次性读完
ENABLE_INTERRUPTS; //开中断
}
//ISR_PAOV:脉冲累加器A计数器溢出中断处理函数-------------------------------*
//功 能:脉冲累加器A计数器发生溢出时,清PAOVF标志位 *
//-------------------------------------------------------------------------*
__interrupt 17 void ISR_PAOV(void)
{
DISABLE_INTERRUPTS; //禁止中断
PAFLG |= (1<<PAOVF); //清空标志位
ENABLE_INTERRUPTS; //开中断
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -