亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dma.c

?? NXP LPC2378 SSP Demo
?? C
字號(hào):
/*****************************************************************************
 *   dma.c:  DMA module file for NXP LPC23xx/24xx Family Microprocessors
 *
 *   Copyright(C) 2006, NXP Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2006.07.20  ver 1.00    Prelimnary version, first Release
 *
******************************************************************************/
#include "LPC23xx.h"                        /* LPC23xx/24xx definitions */
#include "type.h"
#include "irq.h"
#include "ssp.h"
#include "dma.h"

#if DMA_ENABLED

volatile DWORD DMATCCount = 0;
volatile DWORD DMAErrCount = 0;

/******************************************************************************
** Function name:		DMAHandler
**
** Descriptions:		DMA interrupt handler
**
** parameters:			None
** Returned value:		None
** 
******************************************************************************/
void DMAHandler( void ) __irq 
{
  DWORD regVal;

  IENABLE;				/* handles nested interrupt */
  regVal = GPDMA_INT_TCSTAT;
  if ( regVal )
  {
	DMATCCount++;
	GPDMA_INT_TCCLR |= regVal;
  } 

  regVal = GPDMA_INT_ERR_STAT;
  if ( regVal )
  {
	DMAErrCount++;
	GPDMA_INT_ERR_CLR |= regVal;
  } 
  IDISABLE;
  VICVectAddr = 0;		/* Acknowledge Interrupt */
}

/******************************************************************************
** Function name:		DMA_Init
**
** Descriptions:		
**
** parameters:			
** Returned value:		
** 
******************************************************************************/
DWORD DMA_Init( DWORD ChannelNum, DWORD DMAMode )
{
  /* USB RAM is used for test.
  Please note, Ethernet has its own SRAM, but GPDMA can't access
  that. GPDMA can access USB SRAM and IRAM. Ethernet DMA controller can 
  access both IRAM and Ethernet SRAM. */
  PCONP |= (1 << 29);	/* Enable GPDMA clock */

  GPDMA_INT_TCCLR = 0x03;
  GPDMA_INT_ERR_CLR = 0x03;

  if ( ChannelNum == 0 )
  {   
	if ( DMAMode == M2M )
	{
	  /* Ch0 is set for M2M tranfer from AHB1 to AHB2 SRAM */
	  GPDMA_CH0_SRC = DMA_SRC;
	  GPDMA_CH0_DEST = DMA_DST;
	  /* Terminal Count Int enable */
	  GPDMA_CH0_CTRL = (DMA_SIZE & 0x0FFF) | (0x01 << 12) | (0x01 << 15) 
		| (0x02 << 18) | (0x02 << 21) | (1 << 26) | (1 << 27) | 0x80000000;	
	}
	else if ( DMAMode == M2P )
	{
	  /* Ch0 set for M2P transfer from mempry to SSP0. */
	  GPDMA_CH0_SRC = DMA_SRC;
	  GPDMA_CH0_DEST = DMA_SSP0DR;
	  /* The burst size is set to 8, the size is 8 bit too. */
	  /* Terminal Count Int enable */
	  GPDMA_CH0_CTRL = (DMA_SIZE & 0x0FFF) | (0x02 << 12) | (0x02 << 15)
		| (1 << 26) | 0x80000000;
	}
	else if ( DMAMode == P2M )
	{
	  /* Ch0 set for P2M transfer from SSP0 to memory. */
	  GPDMA_CH0_SRC = DMA_SSP0DR;
	  GPDMA_CH0_DEST = DMA_DST;
	  /* The burst size is set to 8, the size is 8 bit too. */
	  /* Terminal Count Int enable */
	  GPDMA_CH0_CTRL = (DMA_SIZE & 0x0FFF) | (0x02 << 12) | (0x02 << 15)
		| (1 << 27) | 0x80000000;
	}
	else if ( DMAMode == P2P )
	{
	  /* Ch0 set for P2P transfer from SSP0 to SSP1. */
	  GPDMA_CH0_SRC = DMA_SSP0DR;
	  GPDMA_CH0_DEST = DMA_SSP1DR;
	  /* The burst size is set to 8, the size is 8 bit too. */
	  /* Terminal Count Int enable */
	  GPDMA_CH0_CTRL = (DMA_SIZE & 0x0FFF) | (0x02 << 12) | (0x02 << 15) 
		| 0x80000000;
	}
	else
	{
	  return ( FALSE );
	}
  }
  else if ( ChannelNum == 1 )
  {   
	if ( DMAMode == M2M )
	{
	  /* Ch1 is set for M2M tranfer */
	  GPDMA_CH1_SRC = DMA_SRC;
	  GPDMA_CH1_DEST = DMA_DST;
	  /* Terminal Count Int enable */
	  GPDMA_CH1_CTRL = (DMA_SIZE & 0x0FFF) | (0x01 << 12) | (0x01 << 15) 
		| (0x02 << 18) | (0x02 << 21) | (1 << 26) | (1 << 27) | 0x80000000;	
	}
	else if ( DMAMode == M2P )
	{
	  /* Ch1 set for M2P transfer from mempry to SSP1. */
	  GPDMA_CH1_SRC = DMA_SRC;
	  GPDMA_CH1_DEST = DMA_SSP0DR;
	  /* The burst size is set to 8, the size is 8 bit too. */
	  /* Terminal Count Int enable */
	  GPDMA_CH1_CTRL = (DMA_SIZE & 0x0FFF) | (0x02 << 12) | (0x02 << 15)
		| (1 << 26) | 0x80000000;
	}
	else if ( DMAMode == P2M )
	{
	  /* Ch1 set for P2M transfer from SSP1 to memory. */
	  GPDMA_CH1_SRC = DMA_SSP0DR;
	  GPDMA_CH1_DEST = DMA_DST;
	  /* The burst size is set to 8, the size is 8 bit too. */
	  /* Terminal Count Int enable */
	  GPDMA_CH1_CTRL = (DMA_SIZE & 0x0FFF) | (0x02 << 12) | (0x02 << 15)
		| (1 << 27) | 0x80000000;
	}
	else if ( DMAMode == P2P )
	{
	  /* Ch1 set for P2P transfer from SSP0 to SSP1. */
	  GPDMA_CH1_SRC = DMA_SSP1DR;
	  GPDMA_CH1_DEST = DMA_SSP0DR;
	  /* The burst size is set to 8, the size is 8 bit too. */
	  /* Terminal Count Int enable */
	  GPDMA_CH1_CTRL = (DMA_SIZE & 0x0FFF) | (0x02 << 12) | (0x02 << 15) 
		| 0x80000000;
	}
	else
	{
	  return ( FALSE );
	}
  }
  else
  {
	return ( FALSE );
  }
	
  GPDMA_CONFIG = 0x01;	/* Enable DMA channels, little endian */
  while ( !(GPDMA_CONFIG & 0x01) );    
		
  if ( install_irq( GPDMA_INT, (void *)DMAHandler, HIGHEST_PRIORITY ) == FALSE )
  {
	return ( FALSE );
  }
  return (TRUE);
}

#endif	/* end if DMA_ENABLED */

/******************************************************************************
**                            End Of File
******************************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产视频在线观看| 久久久精品免费网站| 在线观看亚洲精品| 91丨porny丨户外露出| 99re视频精品| 91在线精品一区二区三区| 99精品视频在线观看免费| 93久久精品日日躁夜夜躁欧美| 99精品久久只有精品| 色综合中文综合网| 色就色 综合激情| 91搞黄在线观看| 欧美日韩一区二区三区免费看| 欧美三级在线视频| 91精品欧美综合在线观看最新| 日韩一区二区三区视频在线| 精品国产伦一区二区三区观看体验| 日韩精品自拍偷拍| 久久久久久久久免费| 亚洲国产精品t66y| 亚洲综合视频在线观看| 日韩激情一区二区| 国产精品一区二区免费不卡 | 91美女蜜桃在线| 欧美色涩在线第一页| 3atv一区二区三区| 久久久久久久久久看片| 亚洲丝袜精品丝袜在线| 日韩专区欧美专区| 国产麻豆精品久久一二三| 不卡在线视频中文字幕| 欧美日韩国产高清一区二区三区| 欧美成人精品3d动漫h| 国产精品久久久久久久午夜片| 亚洲一区在线观看视频| 久久不见久久见中文字幕免费| 不卡一区二区在线| 777久久久精品| 欧美国产欧美综合| 视频一区二区国产| 成人永久免费视频| 欧美日韩国产成人在线免费| 国产亚洲一区字幕| 亚洲图片欧美综合| 国产又黄又大久久| 欧美性色欧美a在线播放| 337p粉嫩大胆噜噜噜噜噜91av| 1区2区3区国产精品| 免费在线一区观看| 一本色道久久综合亚洲aⅴ蜜桃| 欧美一二三在线| 亚洲欧美视频在线观看| 国产真实精品久久二三区| 色婷婷综合中文久久一本| 日韩欧美国产综合一区| 亚洲人快播电影网| 国内精品久久久久影院色 | 亚洲精品成人少妇| 国产主播一区二区| 欧美妇女性影城| 国产精品不卡视频| 九色综合狠狠综合久久| 91久久精品一区二区| 久久久久久一二三区| 日韩成人伦理电影在线观看| 色婷婷精品久久二区二区蜜臂av| 精品av久久707| 香蕉加勒比综合久久| 99国产精品久久久久久久久久| 欧美成人三级电影在线| 亚洲国产成人tv| 色综合久久综合| 欧美韩日一区二区三区四区| 极品美女销魂一区二区三区免费| 欧美视频在线不卡| 亚洲乱码中文字幕| 99re成人精品视频| 日本一区二区成人在线| 精品一区二区三区视频 | 亚洲精品v日韩精品| 成人午夜在线播放| 久久综合狠狠综合久久综合88 | 欧美老年两性高潮| 一区二区三区在线看| 成人av免费观看| 国产欧美精品一区二区色综合朱莉 | 亚洲国产日韩a在线播放| av一区二区不卡| 中文字幕不卡在线| 国产成人免费在线视频| 欧美zozozo| 美女视频网站久久| 91精品国产色综合久久ai换脸| 亚洲福中文字幕伊人影院| 一本一道综合狠狠老| 亚洲免费观看在线观看| 色综合天天狠狠| 一二三四区精品视频| 色婷婷久久久亚洲一区二区三区| 亚洲日本va午夜在线电影| av午夜精品一区二区三区| 中文字幕在线免费不卡| 99综合电影在线视频| 中文字幕一区二区三区四区 | 欧美性大战久久久久久久| 亚洲一区二区三区小说| 欧美亚洲禁片免费| 亚洲成人7777| 在线不卡一区二区| 美女性感视频久久| 久久久综合精品| 懂色av一区二区三区免费观看| 中文字幕 久热精品 视频在线 | 久久精品亚洲乱码伦伦中文| 国产91丝袜在线播放九色| 欧美国产欧美亚州国产日韩mv天天看完整 | 男女激情视频一区| 久久视频一区二区| 成人免费黄色大片| 亚洲欧美电影院| 欧美亚洲国产怡红院影院| 日本欧洲一区二区| 精品第一国产综合精品aⅴ| 国产精品一级二级三级| 国产精品动漫网站| 色美美综合视频| 男女性色大片免费观看一区二区 | 欧美一区二区三区播放老司机| 蜜桃av一区二区在线观看| 精品电影一区二区| 99久久综合国产精品| 亚洲尤物在线视频观看| 欧美一区二区久久| 成人永久免费视频| 亚洲成av人在线观看| 久久免费偷拍视频| 日本韩国精品一区二区在线观看| 日韩中文字幕区一区有砖一区 | 欧美人狂配大交3d怪物一区| 奇米精品一区二区三区在线观看| 久久天天做天天爱综合色| 一本色道久久综合精品竹菊| 奇米色一区二区三区四区| 中文av一区二区| 欧美人与z0zoxxxx视频| 国产成人av电影在线| 亚洲一区免费观看| 久久综合色综合88| 色哟哟欧美精品| 美美哒免费高清在线观看视频一区二区| 久久久91精品国产一区二区三区| 欧洲亚洲精品在线| 国产乱人伦偷精品视频免下载| 亚洲乱码国产乱码精品精的特点 | 国产精品久久二区二区| 欧美日韩亚洲综合一区二区三区| 国产美女主播视频一区| 亚洲国产欧美日韩另类综合| 欧美精品一区二区三区蜜臀| 日本乱码高清不卡字幕| 国产一区二区看久久| 亚洲一区二区欧美激情| 国产欧美日韩麻豆91| 91精品免费观看| 91福利社在线观看| 成人午夜视频在线| 精品一区二区免费看| 亚洲成a天堂v人片| 亚洲图片欧美激情| 久久精品视频网| 欧美一卡2卡三卡4卡5免费| 一本大道av伊人久久综合| 国产精品1区2区| 日本在线不卡视频| 亚洲国产精品人人做人人爽| 欧美激情在线一区二区| 精品国产123| 欧美精品久久99久久在免费线| 91视频免费看| 国产91丝袜在线播放九色| 久久国产夜色精品鲁鲁99| 亚洲午夜成aⅴ人片| 亚洲猫色日本管| 中文字幕一区日韩精品欧美| 国产亚洲福利社区一区| 精品国产凹凸成av人导航| 日韩一区二区在线看片| 欧美三级中文字幕| 欧美性大战久久| 在线精品亚洲一区二区不卡| 91一区二区三区在线观看| 成年人国产精品| 成人国产精品免费网站| 国产98色在线|日韩| 国产麻豆成人精品| 国产精品亚洲一区二区三区妖精| 九九精品一区二区| 麻豆精品一二三| 蜜桃av噜噜一区二区三区小说| 日韩av中文在线观看|