📄 main.c
字号:
/*
www.mcu123.com
基于LPC214X KIT学习板FIQ例程。
编译环境:keil rvmdk 3.03以上
软件仿真通过
MAIN
*/
#include <LPC214X.H>
#define BEEP 1<< 16 /* P0.16控制BEEP */
#define EINT0 14 /* EINT0中断号 */
extern void FIQEnable(void);
void FIQ_Exception(void)
{
unsigned int i;
i = IO0SET; /* 读取当前LED9的控制值 */
if ((i & BEEP) == 0)
IO0SET = BEEP;
else
IO0CLR = BEEP;
/* 等待外部中断信号恢复为高电平
若信号保持为低电平,中断标志会一直置位。*/
while ((EXTINT & 0x01) != 0)
{
EXTINT = 0x01; /* 清除EINT0中断标志 */
}
}
/*
**********************************************************************************************************
**********************************************************************************************************
*/
int main (void)
{
PINSEL1 = 0x00000001; /* 设置管脚连接,P0.16为EINT0 */
IO0DIR = BEEP; /* 设置BEEP控制口为输出,其余输入。 */
EXTMODE = 0x00; /* 设置EINT0为电平触发。 */
/* 极性寄存器使用默认值,0。 */
IO0SET = BEEP;
FIQEnable(); // FIQ中断使能
/* 打开EINT0中断(使用FIQ中断) */
VICIntSelect = 1 << EINT0; /* 设置EINT0分配为FIQ中断 */
EXTINT = 0x01; /* 清除EINT0中断标志 */
VICIntEnable = 1 << EINT0; /* 使能EINT0中断 */
while (1); /* 等待中断 */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -