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

📄 init_interrupts.c

📁 blackfin的MDMA程序
💻 C
字号:
#include "main.h"

/********************************************************************************/
/***** Init_Interrupts()															*****/
/********************************************************************************/
//Use_PF11--HS,Use_PF12--VS

extern	bool	composeFlag;
extern 	bool Flag_mdma;
void Init_Interrupts(void)
{
	// configure interrupt
	register_handler(ik_ivg8, DMA_Interrupt);		// assign ISR DMA to interrupt vector

	*pSICB_IAR1 = Peripheral_IVG(53,8);				// assign interrupt channel 12 (DMA1_channel1) to IVG8

	*pILAT |= EVT_IVG8;								// clear pending IVG8(PPI) interrupts
	asm("ssync;");
	
	*pSICB_IMASK1 |= SIC_MASK(21);					//#define SIC_MASK(x)	       (1 << (x))    /* Mask Peripheral #x interrupt */
	asm("ssync;");									//SIC_MASK(16)=IVG11-PFB(15-0)
}


/////////////////////////////////////
EX_INTERRUPT_HANDLER(DMA_Interrupt)
{
	Init_MemDMA0();
	Flag_mdma=1;
}

//-----------------------------------------------------------------
EX_EXCEPTION_HANDLER(ex_handler_coreB) {
	while(1);
}

//------------------------------Interrupt Service-----------------------------------------------
//已传输数据至p1[]或p2[]空间
/*EX_INTERRUPT_HANDLER(DMA_Interrupt)
{	
	int i,j,k;
	int t;
	unsigned char temp_r=0;
	unsigned char temp=0;
	
	dma_flag=0;

	if(dma_count%2 == 0)
	{
	//此时为P1,即第一个缓冲区满,处理P1中数据,存到detective[]中
		for(i=0;i<45;i++)
		{
			temp_r=0;
			for(j=0;j<8;j++)
			{
				temp = p1[i*8+j];		//????????????先用数组,后面用不用改指针???????????
				asm("nop;"); 

				tem p_r+=(temp<<(7-j));
				asm("nop;"); 
			}
			movement_detective[dma_count*45+i] = temp_r;
		}
	}
	else
	{
		for(i=0;i<45;i++)
		{
			temp_r=0;
			for(j=0;j<8;j++)
			{
				temp = p2[i*8+j];		//????????????先用数组,后面用不用改指针???????????
				asm("nop;"); 

				tem p_r+=(temp<<(7-j));
				asm("nop;"); 
			}
			movement_detective[dma_count*45+i] = temp_r;
		}
	}
	dma_flag=1;
	dma_count+=1;
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -