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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dma.c

?? 基于LPC2xxx的SSP總線程序.已在KEIL下調試通過.
?? C
字號:
/*****************************************************************************
 *   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
******************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美视频在线| 日本不卡视频在线观看| 亚洲电影激情视频网站| 国产成人一级电影| 欧美一区二区性放荡片| 亚洲裸体在线观看| 国产成人综合自拍| 日韩女优电影在线观看| 亚洲国产日韩精品| 9色porny自拍视频一区二区| 欧美大黄免费观看| 日本不卡一区二区| 在线精品国精品国产尤物884a| 欧美精品一区二区蜜臀亚洲| 亚洲一区二区三区四区中文字幕| 成人免费高清视频| 久久久三级国产网站| 美美哒免费高清在线观看视频一区二区 | 国产精品99久久久| 91精品国产免费久久综合| 亚洲精品免费播放| 色婷婷综合在线| 日韩毛片高清在线播放| 成人av中文字幕| 国产精品天天看| 国产91富婆露脸刺激对白| 亚洲精品一区二区在线观看| 丝袜诱惑亚洲看片| 欧美日本韩国一区| 性感美女久久精品| 在线电影院国产精品| 午夜精品福利在线| 欧美男男青年gay1069videost| 亚洲综合无码一区二区| 欧美三区在线观看| 亚洲电影中文字幕在线观看| 欧美日韩精品一区二区三区| 亚洲电影在线免费观看| 欧美浪妇xxxx高跟鞋交| 日韩av不卡在线观看| 777亚洲妇女| 美国毛片一区二区| 久久众筹精品私拍模特| 国产成人午夜99999| 国产欧美一二三区| 色哟哟国产精品免费观看| 亚洲人快播电影网| 欧美人妖巨大在线| 精品亚洲国内自在自线福利| 国产视频亚洲色图| 91网站在线观看视频| 一区二区理论电影在线观看| 7777精品伊人久久久大香线蕉超级流畅 | 成人高清免费在线播放| 亚洲精品免费播放| 欧美疯狂做受xxxx富婆| 精品一区二区三区在线播放视频| 久久精品无码一区二区三区| 99久久综合99久久综合网站| 亚洲视频每日更新| 91精品免费在线| 国产成人午夜视频| 亚洲美女淫视频| 欧美videofree性高清杂交| 懂色av中文一区二区三区| 亚洲一区在线观看视频| 日韩欧美美女一区二区三区| 成人激情视频网站| 日韩—二三区免费观看av| 中文字幕国产一区| 欧美日韩一二区| 国产99久久久国产精品潘金| 亚洲成人一二三| 国产日韩欧美精品在线| 欧美日韩黄色一区二区| 国产成人免费高清| 日日夜夜免费精品视频| 国产精品麻豆欧美日韩ww| 欧美一区二区三区视频免费播放 | 日日欢夜夜爽一区| 国产精品妹子av| 欧美精品在线视频| gogo大胆日本视频一区| 日本va欧美va欧美va精品| 亚洲精品欧美专区| 国产亚洲一二三区| 69av一区二区三区| 色偷偷成人一区二区三区91 | 日本成人中文字幕在线视频| 亚洲欧美国产毛片在线| 精品粉嫩超白一线天av| 日本道在线观看一区二区| 国产乱码字幕精品高清av| 首页国产欧美久久| 亚洲免费在线看| 亚洲欧美综合色| 久久精品一区二区三区四区| 欧美一区二区日韩| 欧美色倩网站大全免费| 在线观看免费视频综合| av综合在线播放| 高清国产一区二区| 国产经典欧美精品| 毛片av一区二区三区| 日韩高清国产一区在线| 亚洲1区2区3区视频| 亚洲一区二区三区四区在线观看| 亚洲三级电影全部在线观看高清| 久久精品日产第一区二区三区高清版| 制服丝袜在线91| 欧美精品一卡二卡| 欧美日韩精品欧美日韩精品| 欧美色图片你懂的| 欧美色窝79yyyycom| 在线欧美日韩精品| 在线看日韩精品电影| 欧美色网一区二区| 欧美三级日韩在线| 欧美精品在线观看播放| 欧美一区二区三区影视| 欧美一区二区在线免费观看| 51久久夜色精品国产麻豆| 777奇米四色成人影色区| 日韩亚洲欧美成人一区| 日韩一二三区视频| 久久久精品国产99久久精品芒果| 国产香蕉久久精品综合网| 国产欧美一区二区三区沐欲| 国产精品电影一区二区三区| 亚洲婷婷国产精品电影人久久| 亚洲视频小说图片| 婷婷综合久久一区二区三区| 日韩精品色哟哟| 国产九色sp调教91| 91亚洲精华国产精华精华液| 在线观看日韩毛片| 日韩欧美激情四射| 国产精品久久久久久久久图文区 | 欧美一区日韩一区| 久久日韩粉嫩一区二区三区 | 亚洲成a人v欧美综合天堂| 日韩精品午夜视频| 国产馆精品极品| 色94色欧美sute亚洲线路二| 在线不卡中文字幕播放| 久久天天做天天爱综合色| 中文字幕在线视频一区| 亚洲成人av一区| 国产精品一区二区在线观看不卡| 99re6这里只有精品视频在线观看| 精品视频在线免费看| 亚洲精品一区在线观看| 亚洲精品高清在线| 国产在线日韩欧美| 91视频在线观看免费| 在线综合+亚洲+欧美中文字幕| 2017欧美狠狠色| 一个色综合网站| 久草在线在线精品观看| 91无套直看片红桃| 久久这里都是精品| 亚洲一区在线看| 国产精品亚洲专一区二区三区| 色天天综合久久久久综合片| 日韩免费看网站| 亚洲人xxxx| 国产一区不卡在线| 在线播放欧美女士性生活| 欧美国产日本韩| 久久精品国产免费| 欧美图区在线视频| 国产精品区一区二区三区| 秋霞影院一区二区| 欧美三级日韩在线| 1000部国产精品成人观看| 国产一区二区伦理| 欧美老肥妇做.爰bbww视频| 国产精品久久久久久久岛一牛影视| 日韩av网站免费在线| 97成人超碰视| 久久久久国产精品免费免费搜索| 亚洲www啪成人一区二区麻豆| 91在线观看高清| 中文字幕免费不卡在线| 激情深爱一区二区| 91麻豆精品国产91久久久久久 | 亚洲一区二区三区爽爽爽爽爽| 国产精品资源站在线| 欧美videossexotv100| 日韩综合小视频| 7777精品伊人久久久大香线蕉完整版 | 天堂成人国产精品一区| 色欧美乱欧美15图片| 1024成人网| 99久久婷婷国产综合精品电影 | 亚洲高清在线精品| 色老汉一区二区三区| 国产精品久久久久aaaa樱花 | 欧美猛男男办公室激情| 亚洲成人自拍网|