isr.c
来自「《嵌入式系统-使用HCS12微控制器的设计与应用》在CodeWarrior开发环」· C语言 代码 · 共 34 行
C
34 行
//-------------------------------------------------------------------------*
//文件名: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 + =
减小字号Ctrl + -
显示快捷键?