📄 int0.c
字号:
/****************************************Copyright (c)**************************************************
**
**
**
**
**
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: INT0.c
**创 建 人: 李功周
**最后修改日期: 2008年12月18日
**描 述: 外部中断0 API 函数
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 李功周
** 版 本: v1.0
** 日 期: 2008年12月18日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
*/
#include <LPC2103.H>
#include "../SPK/SPK.h"
/****************************************************************************
* 名 称:IRQ_Eint3()
* 功 能:外部中断EINT3服务函数,取反B1控制口。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void __irq IRQ_Eint0(void)
{
SpkOnTime(1000);
EXTINT = 1; // 清除EINT0中断标志
VICVectAddr = 0; // 向量中断结束
}
/****************************************************************************
* 名 称:INT0Init
* 功 能:外部中断的初始化。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void INT0Init( void )
{
PINSEL1 = PINSEL1 & 0xfffffffc;
PINSEL1 = PINSEL1 | 0x00000001;
EXTMODE = EXTMODE | 0x01; // 设置EINT0中断为边沿触发模式
EXTPOLAR = EXTPOLAR & 0xfe; // 设置EINT0中断为下降沿或低电平触发
VICIntSelect &= ~(1<<14); //EINT0为IRQ中断
VICVectCntl1 = 0x20|14; //EINT0使用slot10
VICVectAddr1 = (unsigned int) IRQ_Eint0; //中断入口程序
VICIntEnable |= (0x1<<14);
EXTINT = 1; // 清除EINT0中断标志
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -