亚洲欧美第一页_禁久久精品乱码_粉嫩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"
#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
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品每日更新| 中文字幕av一区二区三区| 日韩制服丝袜av| 91 com成人网| 国产美女av一区二区三区| 国产亚洲精品精华液| www.欧美色图| 亚洲国产aⅴ成人精品无吗| 91精品欧美综合在线观看最新 | 最新成人av在线| 欧洲日韩一区二区三区| 亚洲国产综合91精品麻豆| 欧美日韩精品欧美日韩精品一 | 亚洲精品videosex极品| 欧美色精品在线视频| 日韩精彩视频在线观看| 久久尤物电影视频在线观看| 北条麻妃一区二区三区| 亚洲女人****多毛耸耸8| 欧美顶级少妇做爰| 国产成人av一区二区三区在线 | 国产精品久久久久四虎| 欧美日韩中文字幕一区二区| 麻豆成人91精品二区三区| 国产精品午夜久久| 欧美日韩www| 国产91精品入口| 日韩二区三区四区| 国产精品福利一区二区三区| 欧美日韩国产bt| 成人精品国产一区二区4080| 亚洲va中文字幕| 国产清纯在线一区二区www| 欧美日韩亚洲综合在线 | 91原创在线视频| 美女脱光内衣内裤视频久久网站| 国产精品美女视频| 日韩欧美国产一区在线观看| 91美女片黄在线观看91美女| 狠狠色伊人亚洲综合成人| 亚洲午夜久久久久久久久电影网| 国产欧美日韩一区二区三区在线观看 | 色偷偷一区二区三区| 日韩精品乱码av一区二区| 中文av一区特黄| 亚洲精品一区二区在线观看| 欧美日韩在线播| 99久久精品国产导航| 国产在线不卡一卡二卡三卡四卡| 亚洲成av人综合在线观看| 亚洲天堂中文字幕| 欧美激情一区二区三区在线| 日韩一级完整毛片| 欧美日韩高清不卡| 91高清在线观看| 99综合影院在线| 国产成人综合在线观看| 久久狠狠亚洲综合| 三级久久三级久久久| 亚洲一二三专区| 亚洲精品中文字幕乱码三区| 亚洲欧洲三级电影| 中文字幕第一区二区| 国产日韩欧美a| 国产亚洲精品7777| 国产日韩视频一区二区三区| 久久久亚洲高清| 国产亚洲综合在线| 久久久国产午夜精品| 国产欧美一区二区精品忘忧草| 精品国产污污免费网站入口| 欧美成人精精品一区二区频| 日韩一本二本av| 日韩视频免费观看高清完整版在线观看| 欧美群妇大交群的观看方式| 欧美色精品天天在线观看视频| 欧美图片一区二区三区| 欧美日韩一区高清| 欧美精品粉嫩高潮一区二区| 777a∨成人精品桃花网| 91麻豆精品国产自产在线| 91麻豆精品国产91| 精品三级在线观看| 国产欧美日韩三区| 国产精品国产自产拍高清av | 亚洲欧洲国产日本综合| 亚洲视频在线一区观看| 亚洲私人影院在线观看| 亚洲va欧美va天堂v国产综合| 日日噜噜夜夜狠狠视频欧美人| 日本sm残虐另类| 久久国产精品色婷婷| 欧美性色aⅴ视频一区日韩精品| 色婷婷亚洲精品| 不卡av电影在线播放| 99精品国产热久久91蜜凸| 欧美综合在线视频| 5566中文字幕一区二区电影| 日韩精品自拍偷拍| 国产欧美一区二区精品忘忧草| 亚洲丝袜自拍清纯另类| 日韩综合小视频| 国产一二精品视频| 色偷偷成人一区二区三区91| 3d动漫精品啪啪| 国产亚洲欧洲一区高清在线观看| 亚洲天堂久久久久久久| 午夜婷婷国产麻豆精品| 国产在线不卡视频| 日本乱人伦aⅴ精品| 精品日韩一区二区| 国产精品美女久久久久高潮| 亚洲.国产.中文慕字在线| 蜜桃av噜噜一区二区三区小说| 国产白丝精品91爽爽久久| 日本高清视频一区二区| 久久天天做天天爱综合色| 欧美另类z0zxhd电影| 51精品秘密在线观看| 日韩美女天天操| 亚洲欧美怡红院| 久久综合综合久久综合| av动漫一区二区| 精品国产一区二区三区忘忧草 | 国产精品免费久久| 日韩国产在线一| 99久久免费精品| 日韩欧美国产三级| 亚洲国产视频直播| www.日韩大片| 久久色在线视频| 亚洲国产aⅴ成人精品无吗| 成人黄色综合网站| 欧美成人精品二区三区99精品| 亚洲欧美激情插| 成人免费视频免费观看| www久久精品| 日韩成人一级片| 91看片淫黄大片一级在线观看| 国产精品麻豆网站| 亚洲欧洲综合另类在线| 久久精品国产第一区二区三区| 91极品美女在线| 欧美激情一区二区三区蜜桃视频| 日韩中文字幕亚洲一区二区va在线 | 91在线国产福利| 国产亚洲欧美日韩日本| 久久丁香综合五月国产三级网站| 欧美日韩在线三区| 亚洲欧美日韩国产手机在线| 成人美女在线视频| 国产色产综合产在线视频| 久久国产精品色| 欧美一级二级三级蜜桃| 亚洲国产精品久久人人爱蜜臀 | 欧美美女喷水视频| 亚洲另类色综合网站| 91香蕉国产在线观看软件| 国产精品成人一区二区艾草| 成人丝袜18视频在线观看| 欧美激情一区二区在线| 国产91精品一区二区| 中文字幕成人av| 97久久超碰国产精品| 成人免费观看视频| 欧美精品一区二区三区久久久| 久久国产尿小便嘘嘘尿| 日韩三级在线免费观看| 久久aⅴ国产欧美74aaa| 日韩午夜在线观看视频| 毛片不卡一区二区| 久久综合狠狠综合久久综合88| 国内欧美视频一区二区 | 99免费精品视频| 亚洲日本在线视频观看| 日本高清不卡一区| 午夜免费欧美电影| 日韩欧美国产成人一区二区| 激情亚洲综合在线| 日本一区二区成人在线| 91色在线porny| 亚洲成av人综合在线观看| 日韩亚洲欧美成人一区| 国产在线不卡一区| 国产精品国产三级国产有无不卡 | 最好看的中文字幕久久| 欧美亚洲国产一区二区三区va| 亚洲动漫第一页| 日韩欧美激情四射| 成人在线视频一区| 一二三区精品福利视频| 欧美一级高清片在线观看| 国产精品一区一区三区| 中文字幕一区二区视频| 欧美午夜影院一区| 国产呦萝稀缺另类资源| 亚洲色图在线播放| 欧美一区二区视频在线观看2020| 国产精品一二三四五| 一区二区三区在线播放|