📄 aic_test.c
字号:
/*********************************************************************************************
*文件: AIC_test.c
*公司: 深圳市英蓓特信息技术有限公司
*部门: 硬件研发部
*作者: 谢文辉 2005.04.06
*说明: 中断程序,实现中断功能.程序运行后通过按键SB3产生中断,板上的8个指示灯同时亮或同时暗
*注释:
*********************************************************************************************/
#include "AIC_test.h"
void Extirq(void) __attribute__((interrupt("IRQ")));
/*********************************************************************************************
* 名称: TimeDly(uint32 dly)
* 功能: 长软件延时
* 参数: dly 延时数,越大越长
* 返回: 无
* 修改:
* 注释:
*********************************************************************************************/
void time_dly(uint32 dly)
{
uint32 i;
for(; dly>0; dly--)
for(i=0; i<100; i++);
}
/*********************************************************************************************
* 名称: Main()
* 功能: 主程序
* 参数: 无
* 返回: 无
* 修改:
* 注释:
*********************************************************************************************/
void Main()
{
uint8 i, j;
PIO->PER = LEDALL; // 配制引脚与PIO关联
PIO->PDR = P9; // 配制中断0
PIO->OER = LEDALL; // 配制使用IO口为输出
PIO->SODR= LEDALL; // 灭灯
AIC->IDCR= P16;
AIC->SVR[16] = (uint32)Extirq ;
AIC->SMR[16] = 0x27;
AIC->ICCR= P16;
AIC->IECR= P16; // 允许IRQ0中断
while(1);
}
/*********************************************************************************************
* 名称: Extirq(void)
* 功能: 中断处理程序
* 参数: 无
* 返回: 无
* 修改:
* 注释:
*********************************************************************************************/
void Extirq(void)
{
if ((PIO->ODSR & LEDALL) == LEDALL)
PIO->CODR = LEDALL ;
else
PIO->SODR = LEDALL ;
AIC->EOICR = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -