基于32位ColdFire构建嵌入式系统书本原程序.rar
源代码在线查看: isr.h
//-------------------------------------------------------------------------*
// 文件名: isr.h (中断控制头文件) *
// 说 明: 中断控制头文件 *
//-------------------------------------------------------------------------*
#ifndef ISR_H //防止重复定义
#define ISR_H
//1、头文件
#include "mcf52233.h" //CodeFire 52233 MCU映像寄存器名定义
#include "Type.h" //类型别名定义
#include "sysinit.h" //配置头文件
#include "Uart.h" //头文件
//2、中断操作语句
//2.1 总中断
#define DisableInterrupts() asm(move.w #0x2700,sr) //关总中断
#define EnableInterrupts() asm(move.w #0x2000,sr) //开总中断
//2.2 添加模块中断
//使能或禁止RTC秒中断
#define EnableRTCSecInt() { \
MCF_RTC_IER |= MCF_RTC_IER_1HZ; \
MCF_INTC0_ICR(63) = MCF_INTC_ICR_IL(0x03) | MCF_INTC_ICR_IP(0x03); \
MCF_INTC0_IMRH &= ~MCF_INTC_IMRH_MASK63; \
MCF_INTC0_IMRL &= ~MCF_INTC_IMRL_MASKALL; }
#define DisableRTCSecInt() { \
MCF_RTC_IER &= ~MCF_RTC_IER_1HZ; \
MCF_INTC0_ICR(63) = MCF_INTC_ICR_IL(0x03) | MCF_INTC_ICR_IP(0x03); \
MCF_INTC0_IMRH |= MCF_INTC_IMRH_MASK63; \
MCF_INTC0_IMRL &= ~MCF_INTC_IMRL_MASKALL; }
#endif