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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? i2s.c

?? lpc2478+ucosII
?? C
字號:
/*****************************************************************************
 *   i2s.c:  I2S C file for NXP LPC23xx/24xx Family Microprocessors
 *
 *   Copyright(C) 2006, NXP Semiconductor
 *   All rights reserved.
 *
 *   History
 *   2006.07.19  ver 1.00    Prelimnary version, first Release
 *
*****************************************************************************/
#include "LPC2468.h"                        /* LPC23xx/24xx definitions */
#include "type.h"
#include "irq.h"
#include "i2s.h"
#include "dma.h"

/* treat I2S TX and RX as a constant address, make the code and buffer
easier for both DMA and non-DMA test */
volatile BYTE *I2STXBuffer = (BYTE *)(DMA_SRC);
volatile BYTE *I2SRXBuffer = (BYTE *)(DMA_DST);
volatile DWORD I2SReadLength = 0;
volatile DWORD I2SWriteLength = 0;
volatile DWORD I2SRXDone = 0, I2STXDone = 0;

/*****************************************************************************
** Function name:		I2SHandler
**
** Descriptions:		I2S interrupt handler, only RX interrupt is enabled
**						for simplicity.
**
** parameters:			None
** Returned value:		None
**
*****************************************************************************/
__irq __arm void I2SHandler (void)
{
  DWORD RxCount = 0;

  if ( I2S_STATE & 0x01 )
  {
	RxCount = (I2S_STATE >> 8) & 0xFF;
	if ( (RxCount != RXFIFO_EMPTY) && !I2SRXDone )
	{
	  while ( RxCount > 0 )
	  {
		if ( I2SReadLength == BUFSIZE )
		{
		  /* Stop RX channel */
		  I2S_DAI |= ((0x01 << 3) | (0x01 << 4));
		  I2S_IRQ &= ~(0x01 << 0);	/* Disable RX */	
		  I2SRXDone = 1;
		  break;
		}
		else
		{
		  I2SRXBuffer[I2SReadLength++] = I2S_RX_FIFO;
		}
		RxCount--;
	  }
	}
  }
  VICVectAddr = 0;		/* Acknowledge Interrupt */
}

/*****************************************************************************
** Function name:		I2SStart
**
** Descriptions:		Start I2S DAI and DAO
**
** parameters:			None
** Returned value:		None
**
*****************************************************************************/
void I2SStart( void )
{
  DWORD DAIValue, DAOValue;

  /* Audio output is the master, audio input is the slave, */
  /* 16 bit data, stereo, reset, master mode, not mute. */
  DAOValue = I2S_DAO;
  DAIValue = I2S_DAI;
  I2S_DAO = DAOValue & (~((0x01 << 4)|(0x01 <<3)));
  /* 16 bit data, stereo, reset, slave mode, not mute. */
  I2S_DAI	= DAIValue & (~((0x01 << 4)|(0x01 <<3)));
  return;
}

/*****************************************************************************
** Function name:		I2SStop
**
** Descriptions:		Stop I2S DAI and DAO
**
** parameters:			None
** Returned value:		None
**
*****************************************************************************/
void I2SStop( void )
{
  DWORD DAIValue, DAOValue;

  /* Stop the I2S to start. Audio output is master, audio input is the slave. */
  /* 16 bit data, set STOP and RESET bits to reset the channels */
  DAOValue = I2S_DAO;
  /* Switch to master mode, TX channel, no mute */
  DAOValue &= ~((0x01 << 5)|(0x01 << 15));
  DAIValue = I2S_DAI;
  DAIValue &= ~(0x01 << 15);
  I2S_DAO = (0x01 << 4) | (0x01 << 3) | DAOValue;	/* Master */
  I2S_DAI = (0x01 << 4) | (0x01 << 3) | DAIValue;	/* Slave */
  return;
}

/*****************************************************************************
** Function name:		I2SInit
**
** Descriptions:		Initialize I2S controller
**
** parameters:			None
** Returned value:		true or false, return false if the I2S
**						interrupt handler was not installed correctly
**
*****************************************************************************/
DWORD I2SInit( void )
{
  /*enable I2S in the PCONP register. I2S is disabled on reset*/
  PCONP |= (1 << 27);

  /*connect the I2S sigals to port pins(P0.4-P0.9)*/
  PINSEL0 &= ~0x000FFF00;
  PINSEL0 |= 0x00055500;

  /* For all the test program assuming USB is used, the CCLK is set to
  57.6Mhz while all the PCLK are the same, 1/2 of CCLK = 28.8Mhz. It also
  applys to I2S. To generate 48khz sample rate for 16-bit stereo data
  requires a bit rate of 48,000x16x2=1.536Mhz, the TX and RX clock rate
  register should be 28800000/1536000=18.75=0x13.
	
  Please note, in order to generate accurate TX/RX clock rate for I2S,
  PCLK and CCLK needs to be carefully reconsidered. For this test
  program, the TX is looped back to RX without external I2S device,
  clock rate is not critical in this matter. */
  I2S_TXRATE = 0x13;
  I2S_RXRATE = 0x13;

  I2SStop();
  if ( install_irq( I2S_INT, (void *)I2SHandler, HIGHEST_PRIORITY ) == FALSE )
  {
	return (FALSE);
  }
  return( TRUE );
}

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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区成人在线观看| 国产成人一级电影| 韩国v欧美v日本v亚洲v| 日本精品一区二区三区高清| 欧美一区二区黄色| 一区二区三区免费| 豆国产96在线|亚洲| 日韩一二在线观看| 亚洲一区二区欧美激情| 粉嫩嫩av羞羞动漫久久久| 欧美一区二区二区| 亚洲国产精品久久久久婷婷884| 东方aⅴ免费观看久久av| 精品欧美黑人一区二区三区| 午夜国产精品影院在线观看| 日本高清不卡aⅴ免费网站| 中国av一区二区三区| 国产精品亚洲一区二区三区在线| 5566中文字幕一区二区电影| 亚洲国产成人va在线观看天堂| 91亚洲精华国产精华精华液| 国产精品麻豆欧美日韩ww| 国产精品一区二区在线播放 | 不卡在线观看av| 国产丝袜欧美中文另类| 六月丁香综合在线视频| 777色狠狠一区二区三区| 亚洲国产中文字幕| 中文字幕中文字幕中文字幕亚洲无线| 玖玖九九国产精品| 日韩欧美成人一区| 久久成人18免费观看| 欧美成人一区二区三区片免费| 青娱乐精品视频在线| 日韩欧美国产麻豆| 国产一区二区成人久久免费影院| 精品国产免费一区二区三区香蕉| 玖玖九九国产精品| 国产日韩精品视频一区| 岛国一区二区在线观看| 中文字幕欧美一| 欧美伊人久久大香线蕉综合69 | 久久 天天综合| 久久在线免费观看| 成人深夜在线观看| 亚洲激情综合网| 在线观看91精品国产麻豆| 久久电影国产免费久久电影 | 国产精品亚洲视频| 国产精品高潮久久久久无| 色成人在线视频| 日韩二区三区四区| 国产香蕉久久精品综合网| 成人a级免费电影| 一区二区三区四区中文字幕| 91麻豆精品国产91久久久使用方法 | 欧美大片日本大片免费观看| 久久不见久久见中文字幕免费| 久久精品一区二区| 91首页免费视频| 日韩成人午夜精品| 国产精品欧美综合在线| 欧美综合亚洲图片综合区| 日产国产高清一区二区三区| 国产视频一区二区在线| 欧美色倩网站大全免费| 激情文学综合丁香| 亚洲一区在线视频观看| 久久久久国产免费免费| 欧美性猛交xxxx乱大交退制版| 九九**精品视频免费播放| 亚洲三级在线免费观看| 精品卡一卡二卡三卡四在线| 91免费国产在线| 久久不见久久见免费视频1| 亚洲欧美成人一区二区三区| 精品国产乱码久久久久久蜜臀| 色94色欧美sute亚洲线路一久 | 日韩激情视频网站| 国产精品成人一区二区艾草 | 欧美日韩一区在线| 成人黄色电影在线 | 美国毛片一区二区三区| 亚洲男人的天堂在线aⅴ视频| 日韩欧美一区二区不卡| 色久综合一二码| 国产不卡高清在线观看视频| 热久久一区二区| 一区二区三区美女| 中文字幕亚洲综合久久菠萝蜜| 日韩亚洲国产中文字幕欧美| 在线免费视频一区二区| 99久久精品国产观看| 国产精品一区二区视频| 蜜桃视频一区二区三区在线观看| 亚洲自拍与偷拍| 亚洲欧美色图小说| 中文字幕中文乱码欧美一区二区| 久久中文娱乐网| 日韩一级完整毛片| 91精品免费在线| 欧美日韩国产另类不卡| 欧美亚洲国产一区二区三区va| 成a人片亚洲日本久久| 丰满亚洲少妇av| 国产激情一区二区三区桃花岛亚洲| 久久精品99国产国产精| 日av在线不卡| 看电视剧不卡顿的网站| 麻豆精品在线视频| 九色|91porny| 国产一区二区女| 国产成人福利片| 国产凹凸在线观看一区二区| 国产成人av电影免费在线观看| 国产一区二三区好的| 国产精品亚洲а∨天堂免在线| 国产真实精品久久二三区| 国产尤物一区二区在线| 成人做爰69片免费看网站| 99久久免费视频.com| av在线不卡网| 色94色欧美sute亚洲13| 欧美日韩国产a| 日韩免费看网站| 26uuu国产在线精品一区二区| 久久青草欧美一区二区三区| 国产欧美一区二区精品性色超碰 | 日本一区二区三区视频视频| 中文字幕精品—区二区四季| 国产精品美女一区二区| 亚洲精品一二三四区| 午夜欧美电影在线观看| 美女在线视频一区| 成人一级视频在线观看| 91激情五月电影| 欧美tk—视频vk| 亚洲视频你懂的| 日韩在线卡一卡二| 国产盗摄女厕一区二区三区| 99久久免费精品| 日韩一区二区三区高清免费看看| 国产午夜精品在线观看| 亚洲综合视频网| 久久精品久久久精品美女| 97久久超碰精品国产| 制服丝袜亚洲精品中文字幕| 欧美激情一区二区三区蜜桃视频| 夜夜操天天操亚洲| 久久精品99国产精品日本| 99久久伊人精品| 欧美一区二区视频在线观看| 国产精品丝袜一区| 日本美女一区二区三区视频| 北条麻妃国产九九精品视频| 正在播放一区二区| 亚洲人午夜精品天堂一二香蕉| 免费欧美日韩国产三级电影| 99精品热视频| 欧美成va人片在线观看| 亚洲国产综合在线| www.99精品| 精品处破学生在线二十三| 亚洲国产精品一区二区久久| 福利一区二区在线| 精品久久久久久亚洲综合网| 亚洲国产va精品久久久不卡综合| 丁香网亚洲国际| 日韩欧美国产wwwww| 亚洲成av人影院在线观看网| 99麻豆久久久国产精品免费优播| 精品国产亚洲在线| 日韩av一区二| 欧美性猛交xxxx乱大交退制版| 亚洲国产精品高清| 国产伦精品一区二区三区免费迷| 欧美日韩精品久久久| 亚洲精品大片www| jiyouzz国产精品久久| 久久久久久一二三区| 裸体一区二区三区| 欧美群妇大交群中文字幕| 一区二区三区在线观看动漫| 高清不卡一区二区| 国产女主播视频一区二区| 国精产品一区一区三区mba视频| 欧美一区二区免费观在线| 日韩av一区二区三区| 欧美日韩电影在线| 日韩影院精彩在线| 欧美一区三区四区| 日韩二区三区在线观看| 欧美一区二区三区在线观看 | 久久久久久夜精品精品免费| 久久精品国产第一区二区三区| 日韩亚洲欧美在线观看| 美国欧美日韩国产在线播放| 欧美变态凌虐bdsm| 国产一区二区在线视频| 久久久久久免费|