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

📄 dma.c

📁 嵌入式方面的一些简单程序
💻 C
字号:
#ifndef DMA_C
#define DMA_C

#include "Dma.h"
#include "2410addr.h"
#include "Def.h"
#include "Lcd_Test.h"

//int dmaDone;
static void __irq Dma0Done(void)
{

    //ClearPending(BIT_DMA0);
    rSRCPND|=(1<<17);
    rINTPND|=(1<<17);
    //dmaDone=1;
    
}
void Dma(void)
{
    pISR_DMA0 = (int)Dma0Done;
    rINTMSK&=0xfffdffff;
    rDISRC0=(int)Buffer;
    rDISRCC0=0<<1|0;//AHP  increased
    rDIDST0=(int)Frame_Buffer;
    rDIDSTC0=0<<1|0;//AHP  increased
    rDCON0=1<<31|1<<30|0<<29|1<<28|1<<27|0<<23|1<<22|1<<20|(96000);
   // rDCON0 = (1<<31)|(1<<30)|(1<<29)|(1<<28)|(1<<27)|(0<<23)|(1<<22)|(2<<20)|(96000);
    //handshake  AHB clock  interrupt disabled  burst whole service  nXDREQ0  H/W request mode  reload off  half word  TC
    rDMASKTRIG0 = (1<<1)|1; //DMA on, SW_TRIG
    
   // rDMASKTRIG0 = (1<<1)|1;
    rINTMSK|=0x00020000;
}
/*


void Dma()
{
    pISR_DMA0 = (int)Dma0Done;
		//INTMSK  INT_DMA0  [17] = 0 : Service available
    rINTMSK = ~(BIT_DMA0);  
    
    dmaDone=0;
    //Draw_rectangle(0x00,0x00,0x50,0x50);
    rDISRC0 =(U32)Buffer;//[0][0];
    rDISRCC0 = (0<<1)|(0<<0); // inc,AHB
    rDIDST0 =(U32)Frame_Buffer;//[0][0];
    rDIDSTC0 = (0<<1)|(0<<0); // inc,AHB
    rDCON0 = (1<<31)|(1<<30)|(0<<29)|(1<<28)|(1<<27)|
    	        (0<<23)|(1<<22)|(1<<20)|(96000);
    		//HS,AHB,TC interrupt,whole, SW request mode,relaod off
    rDMASKTRIG0 = (1<<1)|1; //DMA on, SW_TRIG
	
	
    rINTMSK = BIT_ALLMSK;
    
}
*/
#endif

⌨️ 快捷键说明

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