⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aic_test.c

📁 Embest ATEB40x开发板部分测试程序
💻 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 + -