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

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

?? i2s.c

?? IARSOURCECODE是基于LPC2478嵌入式軟件IAR EWARM V4.42的應用實例代碼
?? 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
******************************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜在线播放| 7777精品伊人久久久大香线蕉最新版| 成人午夜av电影| 91久久香蕉国产日韩欧美9色| 色婷婷综合久色| 宅男噜噜噜66一区二区66| 欧美国产精品v| 性感美女久久精品| 国产凹凸在线观看一区二区| 色94色欧美sute亚洲线路一ni| 欧美日韩1区2区| 国产精品第13页| 轻轻草成人在线| 色8久久精品久久久久久蜜 | 99精品视频在线播放观看| 欧美色图12p| 中文字幕的久久| 日本成人在线看| 91在线云播放| 制服视频三区第一页精品| 国产精品美女视频| 免费在线欧美视频| 欧美日韩久久久一区| 中文文精品字幕一区二区| 青青草97国产精品免费观看| av午夜一区麻豆| 久久久精品免费观看| 日韩中文字幕亚洲一区二区va在线| 成人免费va视频| 国产日韩欧美一区二区三区乱码 | 欧美国产日本视频| 蜜臀av一区二区| 欧美视频一区二区在线观看| 国产精品久久久久久久久搜平片 | 午夜欧美大尺度福利影院在线看| 成人久久18免费网站麻豆| 精品国产精品网麻豆系列| 午夜av一区二区| 欧美亚洲丝袜传媒另类| 中文字幕一区二区三区在线观看| 美女视频黄久久| 日韩三级中文字幕| 日韩极品在线观看| 欧美影院午夜播放| 国产亚洲精品7777| 国产精品一区二区久久不卡| 91精品婷婷国产综合久久竹菊| 最新日韩av在线| 成人小视频免费观看| 欧美电影影音先锋| 亚洲综合色成人| 91黄色小视频| 中文字幕在线不卡视频| 99国内精品久久| 亚洲欧美一区二区三区极速播放| 不卡av在线免费观看| 亚洲日本青草视频在线怡红院| av在线播放成人| 一级女性全黄久久生活片免费| 一本色道**综合亚洲精品蜜桃冫 | 欧美激情一区二区三区全黄| 国产一区二区三区四区五区美女| 久久一区二区三区国产精品| 精品一区二区综合| 国产免费久久精品| 成人av资源下载| 一片黄亚洲嫩模| 欧美在线一二三四区| 免费观看一级欧美片| 亚洲精品在线观看网站| 成人性色生活片| 亚洲无人区一区| 欧美成人一级视频| 成人av资源下载| 亚洲一区二区欧美| 精品99久久久久久| 91麻豆免费观看| 调教+趴+乳夹+国产+精品| 欧美岛国在线观看| 暴力调教一区二区三区| 亚洲成人av在线电影| www一区二区| 色综合久久88色综合天天免费| 日本亚洲欧美天堂免费| 中文字幕不卡三区| 欧美日韩视频在线第一区| 国产乱码精品一区二区三| 综合激情成人伊人| 日韩精品专区在线影院重磅| 国产精品66部| 五月天精品一区二区三区| 国产女主播一区| 91精品国产一区二区人妖| 波多野结衣一区二区三区| 亚洲123区在线观看| 国产精品视频观看| 欧美日韩亚洲综合| 国产精品1区2区3区在线观看| 久久精品亚洲精品国产欧美kt∨| 欧美制服丝袜第一页| 国产精品18久久久久久久久久久久 | 亚洲国产aⅴ天堂久久| 久久一区二区视频| 51精品秘密在线观看| 91久久精品午夜一区二区| 国产中文字幕精品| 香蕉乱码成人久久天堂爱免费| 国产精品网站在线播放| 日韩一区二区中文字幕| 欧美在线观看视频一区二区| 国产.精品.日韩.另类.中文.在线.播放 | 日韩激情在线观看| 亚洲精品免费视频| 国产欧美日韩久久| 精品国产三级电影在线观看| 欧美日韩国产免费| 成人激情小说乱人伦| 亚洲一区二区三区四区在线免费观看 | 国模一区二区三区白浆| 婷婷综合另类小说色区| 亚洲精品高清视频在线观看| 日本一区二区三区久久久久久久久不| 3751色影院一区二区三区| 欧洲一区在线电影| 色综合久久综合网| 99国产精品久久久久久久久久久 | 伊人性伊人情综合网| 国产精品三级视频| 欧美激情在线观看视频免费| 精品国产一区二区三区av性色| 欧美高清你懂得| 制服视频三区第一页精品| 欧美精品vⅰdeose4hd| 欧美色图天堂网| 欧美色精品天天在线观看视频| 色88888久久久久久影院按摩| 91在线无精精品入口| 色婷婷激情久久| 欧美日本国产视频| 日韩欧美你懂的| 欧美xxxx在线观看| 久久久噜噜噜久噜久久综合| 国产婷婷一区二区| 成人免费一区二区三区在线观看| 国产精品乱人伦| 亚洲欧洲综合另类在线| 亚洲制服丝袜av| 青椒成人免费视频| 国产成人啪午夜精品网站男同| 国产aⅴ综合色| 91蜜桃婷婷狠狠久久综合9色| 色综合久久久久久久| 欧美猛男男办公室激情| 欧美mv和日韩mv国产网站| 精品国产一区二区亚洲人成毛片| 2021中文字幕一区亚洲| 国产亚洲欧美日韩在线一区| 国产精品蜜臀av| 一级日本不卡的影视| 日本不卡视频在线| 高清日韩电视剧大全免费| 91蝌蚪porny| 欧美一级黄色录像| 国产精品视频在线看| 亚洲欧美另类久久久精品| 日韩电影免费一区| av中文字幕亚洲| 67194成人在线观看| 久久久久久久久久久99999| 一区二区中文视频| 麻豆国产精品777777在线| 成人激情免费电影网址| 欧美日韩三级一区二区| 日本一区二区综合亚洲| 亚洲一区二区五区| 国产精品中文欧美| 欧美日韩精品一区二区在线播放| 国产性色一区二区| 日韩和的一区二区| 成人91在线观看| 精品国产免费视频| 一区二区视频在线| 国产一区91精品张津瑜| 欧美视频在线一区| 欧美国产日韩精品免费观看| 天天射综合影视| 91福利社在线观看| 亚洲国产精品精华液2区45| 日韩国产欧美在线播放| 91免费版pro下载短视频| 欧美精品一区二区不卡| 亚洲高清免费观看 | 婷婷六月综合网| 成人蜜臀av电影| 国产欧美一区视频| 国产成人aaa| 亚洲天堂网中文字| 在线影视一区二区三区| 亚洲一区电影777| 欧美日韩国产美|