memdma_array_init.c

来自「ide的低层驱动程序。一个工程(cpld+dsp)的一部分。」· C语言 代码 · 共 65 行

C
65
字号
#include ".\h_file\system.h"

ushort desc_array_S0[21];
ushort desc_array_D0[21];

memDMA_array_init(uint in1,uint in2,uint out1,uint out2)
{
	ushort * desc_S;
	ushort * desc_D;
	
	uchar i;
	
	desc_S = desc_array_S0;
	desc_D = desc_array_D0;
	
/*******  存储源起始地址  *******/	

	*(desc_S++) = in1;
	*desc_S = in1>>16;
	
	desc_S += 6;
	
	*(desc_S++) = in2;
	*desc_S = in2>>16;
	
	desc_S += 6;
	
	*(desc_S++) = in1;
	*desc_S = in1>>16;
	
/*******  存储目标起始地址  *******/	
	*(desc_D++) = out1;
	*desc_D = out1>>16;
	
	desc_D += 6;
	
	*(desc_D++) = out2;
	*desc_D = out2>>16;
	
	desc_D += 6;
	
	*(desc_D++) = out1;
	*desc_D = out1>>16;
	
/*******  标识符指针复位,指向Config  *******/	
	desc_S = desc_array_S0 + 2;
	desc_D = desc_array_D0 + 2;
	
/*******  存储Config、Count和Modify  *******/	
	for ( i=0; i<2; i++ )
	{
		*(desc_S++) = Array_S_Config;
		*(desc_S++) = X_Count;
		*(desc_S) = X_Modify;
		desc_S += 5;
		*(desc_D++) = Array_D_Config_1;
		*(desc_D++) = X_Count;
		*(desc_D) = X_Modify;
		desc_D += 5;
	}
	*desc_S = 0;
	*desc_D = 0;
	
}

⌨️ 快捷键说明

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