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

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

?? i2s.c

?? IARSOURCECODE是基于LPC2478嵌入式軟件IAR EWARM V4.42的應(yīng)用實(shí)例代碼
?? C
字號(hào):
/*****************************************************************************
 *   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"


/* 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 *)(1);
volatile BYTE *I2SRXBuffer = (BYTE *)(2);
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
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av亚洲精华国产精华精| 精品中文字幕一区二区| 91丨porny丨最新| 亚洲素人一区二区| 日本道在线观看一区二区| 亚洲自拍都市欧美小说| 欧美一区二区成人6969| 激情伊人五月天久久综合| 国产欧美日韩在线看| gogogo免费视频观看亚洲一| 亚洲蜜臀av乱码久久精品蜜桃| 在线免费av一区| 日韩av电影天堂| 国产日韩欧美精品在线| 色综合天天综合网天天看片| 亚洲综合男人的天堂| 欧美午夜片在线观看| 日韩电影在线免费观看| 久久免费看少妇高潮| 成人免费毛片aaaaa**| 亚洲综合图片区| 2欧美一区二区三区在线观看视频| 国产999精品久久久久久绿帽| 亚洲私人黄色宅男| 欧美一区二区三区爱爱| 成人小视频免费在线观看| 亚洲一卡二卡三卡四卡无卡久久| 日韩一卡二卡三卡四卡| 北岛玲一区二区三区四区| 裸体健美xxxx欧美裸体表演| 精品久久久久香蕉网| 99精品视频在线播放观看| 免费看日韩精品| 国产精品美女久久久久久| 69p69国产精品| jlzzjlzz国产精品久久| 久久精品国产亚洲a| 亚洲视频每日更新| 久久久亚洲欧洲日产国码αv| 欧美在线三级电影| 国产精品1区2区3区在线观看| 亚洲在线观看免费视频| 国产亚洲精品中文字幕| 欧美电影在线免费观看| 97精品久久久久中文字幕| 久久国产精品色婷婷| 亚洲一区二区三区四区在线观看| 久久久精品国产免大香伊| 欧美中文字幕一二三区视频| 国产成人综合网| 日韩成人免费看| 亚洲综合无码一区二区| 国产精品每日更新在线播放网址| 欧美久久婷婷综合色| 91同城在线观看| 国产精品自拍av| 久久国产综合精品| 视频一区二区欧美| 国产精品影视在线| 日韩影院精彩在线| 亚洲精品国产精华液| 国产精品盗摄一区二区三区| 久久亚洲一级片| 欧美精品一区二区不卡| 欧美成人精品二区三区99精品| 欧美精品第1页| 欧美日韩一区小说| 欧美偷拍一区二区| 在线日韩一区二区| 在线视频你懂得一区| 色av成人天堂桃色av| 91蝌蚪porny| 欧洲精品在线观看| 欧美亚洲高清一区二区三区不卡| 91小视频在线免费看| 色综合天天性综合| 一本色道a无线码一区v| 一本一本大道香蕉久在线精品| aaa欧美大片| 日本国产一区二区| 在线观看不卡视频| 欧美二区在线观看| 日韩你懂的在线观看| 久久综合色婷婷| 久久久亚洲高清| 国产精品卡一卡二| 亚洲精品日韩专区silk| 亚洲乱码国产乱码精品精98午夜 | 久久精品一区蜜桃臀影院| 精品久久人人做人人爽| 久久精品水蜜桃av综合天堂| 国产午夜三级一区二区三| 亚洲国产经典视频| 亚洲精品日日夜夜| 日韩不卡手机在线v区| 久久超碰97中文字幕| 国产精品一级在线| 色婷婷综合中文久久一本| 91极品美女在线| 欧美一级黄色大片| 久久久久久9999| 亚洲乱码日产精品bd| 日本欧美一区二区三区| 国产制服丝袜一区| 99re6这里只有精品视频在线观看| 色综合色综合色综合色综合色综合| 欧美日韩午夜在线视频| 欧美成人三级在线| 国产精品久久久久久妇女6080| 亚洲一区二区黄色| 国产一区二区三区在线观看免费 | 亚洲bt欧美bt精品| 韩国欧美国产一区| 色狠狠综合天天综合综合| 日韩欧美国产精品| 国产精品激情偷乱一区二区∴| 亚洲电影一区二区三区| 国产精品一区三区| 欧美视频在线一区二区三区| 久久一区二区视频| 亚洲影院理伦片| 国产精品一区二区三区99| 欧美色涩在线第一页| 国产精品情趣视频| 免费视频最近日韩| 色婷婷av一区| 久久精品人人做人人爽人人| 亚洲一二三四久久| 国产成人精品亚洲午夜麻豆| 欧美日韩在线观看一区二区| 国产蜜臀97一区二区三区| 日韩av二区在线播放| 色欧美片视频在线观看在线视频| 亚洲精品一线二线三线| 偷拍与自拍一区| 91原创在线视频| 欧美精彩视频一区二区三区| 日韩中文字幕亚洲一区二区va在线| 成人综合在线网站| 日韩精品一区二| 日本aⅴ免费视频一区二区三区 | 国产亚洲一区字幕| 日韩不卡一区二区三区| 在线看国产一区| 亚洲你懂的在线视频| 成人午夜看片网址| 国产午夜三级一区二区三| 秋霞影院一区二区| 欧美日韩在线免费视频| 亚洲三级免费电影| 成人性生交大片免费看中文| 2014亚洲片线观看视频免费| 美腿丝袜亚洲色图| 在线成人午夜影院| 亚洲va国产天堂va久久en| 在线视频国内自拍亚洲视频| 中文字幕一区二区三区av| 成人免费黄色在线| 国产欧美一区二区三区鸳鸯浴 | 欧美伦理电影网| 亚洲午夜久久久久久久久电影网 | 色综合天天综合色综合av | 有码一区二区三区| 91在线精品秘密一区二区| 欧美激情一区三区| 国产成人超碰人人澡人人澡| 337p粉嫩大胆噜噜噜噜噜91av| 久久精品国产亚洲高清剧情介绍| 欧美一激情一区二区三区| 亚洲sss视频在线视频| 欧美军同video69gay| 亚洲一级二级三级在线免费观看| 在线免费一区三区| 亚洲高清视频的网址| 91麻豆精品国产综合久久久久久| 天天色综合天天| 日韩欧美一区二区不卡| 国产在线视频一区二区三区| 久久久精品免费网站| 成人性生交大片免费看在线播放| 中文字幕在线不卡国产视频| 色呦呦国产精品| 婷婷久久综合九色国产成人| 制服丝袜中文字幕一区| 国产综合久久久久影院| 日本一区二区三区视频视频| 91一区一区三区| 亚洲国产乱码最新视频| 欧美成人欧美edvon| 成人免费毛片app| 亚洲综合图片区| 精品精品国产高清a毛片牛牛| 国产麻豆精品95视频| 亚洲日本成人在线观看| 欧美日本韩国一区二区三区视频 | 紧缚奴在线一区二区三区| 中文字幕av不卡| 欧美日韩一区二区不卡| 国产一区二区三区四区五区美女 | 一区免费观看视频|