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

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

?? dec5502_codec.c

?? TI DSP TMS320C5502音頻采樣及回放
?? C
字號(hào):


/******************************************************************************/
/*  Copyright 2004 by SEED Electronic Technology LTD.                         */
/*  All rights reserved. SEED Electronic Technology LTD.                      */
/*  Restricted rights to use, duplicate or disclose this code are             */
/*  granted through contract.                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/* DESCRIPTION:  															  */
/*   																		  */
/* This is an audio signal sample and play example for CODEC of C5502		  */
/*----------------------------------------------------------------------------*/
/* MODULE NAME... IIC and Mcbsp												  */
/* FILENAME...... 5502_CODEC.c   											  */
/* DATE CREATED.. Mon 6/20/2004	    										  */
/* COMPONENT..... 															  */
/* PREREQUISITS.. 															  */
/*----------------------------------------------------------------------------*/
/* DESCRIPTION:																  */  
/*   																		  */
/* This example is that the codec is controled by the IIC and Mcbsp 		  */
/*----------------------------------------------------------------------------*/

#include <csl.h>
#include <csl_chip.h>
#include <csl_i2c.h>
#include <csl_pll.h>
#include <csl_mcbsp.h>
#include <csl_emif.h>
#include <csl_emifBhal.h>

#include "E2PROM_Function.h"
#include "CODEC.h"

#undef  CODEC_ADDR
#define CODEC_ADDR 0x1A

/*------------------------------------------------------------------------------------*/
//
// Config McBSP:  Use McBSP to send and receive the data between DSP and AIC23B
//
/*------------------------------------------------------------------------------------*/
MCBSP_Config Mcbsp1Config = {
  MCBSP_SPCR1_RMK(    
    MCBSP_SPCR1_DLB_OFF,  			// DLB    = 0 
    MCBSP_SPCR1_RJUST_LZF,          // RJUST  = 0,right justify the data and zero fill the MSBs
    MCBSP_SPCR1_CLKSTP_DISABLE,     // CLKSTP = 0 
    MCBSP_SPCR1_DXENA_ON,           // DXENA  = 1,DX delay enabler on 
    0,             				   	// Reserved   = 0 
    MCBSP_SPCR1_RINTM_RRDY,         // RINTM  = 0 
    MCBSP_SPCR1_RSYNCERR_NO,        // RSYNCER = 0 
    MCBSP_SPCR1_RFULL_NO,           // RFULL = 0  
    MCBSP_SPCR1_RRDY_NO,            // RRDY = 0  
    MCBSP_SPCR1_RRST_DISABLE 		// RRST   = 0; Disable receiver 
   ),
  MCBSP_SPCR2_RMK(  
    MCBSP_SPCR2_FREE_NO,            // FREE   = 0 
    MCBSP_SPCR2_SOFT_NO,            // SOFT   = 0 
    MCBSP_SPCR2_FRST_FSG,         	// FRST   = 1 ; Enable the frame-sync logic
    MCBSP_SPCR2_GRST_CLKG,         	// GRST   = 1 ; The sample rate generator is take out of its reset state 
    MCBSP_SPCR2_XINTM_XRDY,         // XINTM  = 0 
    MCBSP_SPCR2_XSYNCERR_NO,        // XSYNCER =0 
    MCBSP_SPCR2_XEMPTY_NO,          // XEMPTY = 0 
    MCBSP_SPCR2_XRDY_NO,            // XRDY   = 0             
    MCBSP_SPCR2_XRST_DISABLE 	    // XRST   = 0 Disable transimitter 
   ),
   // 單數(shù)據(jù)相,接受數(shù)據(jù)長(zhǎng)度為16位,每相2個(gè)數(shù)據(jù)
  MCBSP_RCR1_RMK( 
  	MCBSP_RCR1_RFRLEN1_OF(1),       // RFRLEN1 = 1 
  	MCBSP_RCR1_RWDLEN1_16BIT        // RWDLEN1 = 2 
  ),
  MCBSP_RCR2_RMK(    
    MCBSP_RCR2_RPHASE_SINGLE,       // RPHASE  = 0 
    MCBSP_RCR2_RFRLEN2_OF(0),       // RFRLEN2 = 0 
    MCBSP_RCR2_RWDLEN2_8BIT,       	// RWDLEN2 = 0 
    MCBSP_RCR2_RCOMPAND_MSB,        // RCOMPAND = 0 No companding,any size data, MSB received first 
    MCBSP_RCR2_RFIG_YES,  		    // RFIG    = 1 Frame-sync ignore 
    MCBSP_RCR2_RDATDLY_1BIT  		// RDATDLY = 1 1-bit data delay 
    ),  
  MCBSP_XCR1_RMK(    
    MCBSP_XCR1_XFRLEN1_OF(1),       // XFRLEN1 = 1  
    MCBSP_XCR1_XWDLEN1_16BIT        // XWDLEN1 = 2   
 ),   
 MCBSP_XCR2_RMK(   
    MCBSP_XCR2_XPHASE_SINGLE,       // XPHASE  = 0 
    MCBSP_XCR2_XFRLEN2_OF(1),       // XFRLEN2 = 0 
    MCBSP_XCR2_XWDLEN2_8BIT,       	// XWDLEN2 = 0 
    MCBSP_XCR2_XCOMPAND_MSB,        // XCOMPAND = 0 
    MCBSP_XCR2_XFIG_YES,            // XFIG    = 1 Unexpected Frame-sync ignore 
    MCBSP_XCR2_XDATDLY_1BIT         // XDATDLY = 1 1-bit data delay 
  ),            
 MCBSP_SRGR1_DEFAULT,
 MCBSP_SRGR2_DEFAULT,				 
 MCBSP_MCR1_DEFAULT,
 MCBSP_MCR2_DEFAULT, 
 MCBSP_PCR_RMK(
   MCBSP_PCR_IDLEEN_RESET,          // IDLEEN   = 0   
   MCBSP_PCR_XIOEN_SP,              // XIOEN    = 0   
   MCBSP_PCR_RIOEN_SP,              // RIOEN    = 0   
   MCBSP_PCR_FSXM_EXTERNAL,  		// FSXM     = 0 Tranmit frame-syn is provided by AIC23B 
   MCBSP_PCR_FSRM_EXTERNAL,         // FSRM     = 0 Receive frame-syn is provided by AIC23B 
   MCBSP_PCR_CLKXM_INPUT,   		// CLKR is input 
   MCBSP_PCR_CLKRM_INPUT,           // CLKX is input 
   MCBSP_PCR_SCLKME_NO,             // SCLKME=0 CLKG is taken from the McBSP internal input clock  
   MCBSP_PCR_CLKSSTAT_0,            // The signal on the CLKS pin is low   
   MCBSP_PCR_DXSTAT_0,              // Drive the signal on the DX pin low   
   MCBSP_PCR_DRSTAT_0,              // The signal on the DR pin is low   
   MCBSP_PCR_FSXP_ACTIVEHIGH,  		// FSXP     = 1 Because a falling edge on LRCIN or LRCOUT starts data transfer  
   MCBSP_PCR_FSRP_ACTIVELOW,        // FSRP     = 1   
   MCBSP_PCR_CLKXP_FALLING,         // CLKXP    = 1   The falling edge of BCLK starts data transfer 
   MCBSP_PCR_CLKRP_RISING           // CLKRP    = 1   
 ),
 MCBSP_RCERA_DEFAULT, 
 MCBSP_RCERB_DEFAULT, 
 MCBSP_RCERC_DEFAULT, 
 MCBSP_RCERD_DEFAULT, 
 MCBSP_RCERE_DEFAULT, 
 MCBSP_RCERF_DEFAULT, 
 MCBSP_RCERG_DEFAULT, 
 MCBSP_RCERH_DEFAULT, 
 MCBSP_XCERA_DEFAULT,
 MCBSP_XCERB_DEFAULT,
 MCBSP_XCERC_DEFAULT,
 MCBSP_XCERD_DEFAULT,  
 MCBSP_XCERE_DEFAULT,
 MCBSP_XCERF_DEFAULT,  
 MCBSP_XCERG_DEFAULT,
 MCBSP_XCERH_DEFAULT
 }; 
// 定義McBSP的句柄
MCBSP_Handle hMcbsp;

/*------------------------------------------------------------------------------------*/
//
// Config I2C: Use I2C to interface CODEC control interface
//
/*------------------------------------------------------------------------------------*/
I2C_Setup Setup = {
					0, 		// 7 bit address mode 
					0x0000, // own address 
					60, 	// clkout value (Mhz) 
					400, 	// a number between 10 and 400
					0, 		// 8 bits/byte to be received or transmitted 
					0, 		// DLB mode off 
					0 		// FREE mode off 
				  };
				  
/*------------------------------------------------------------------------------------*/
//
// Config CODEC control registers
//
/*------------------------------------------------------------------------------------*/

	// 數(shù)字音頻接口格式設(shè)置
	// AIC23為主模式,數(shù)據(jù)為DSP模式,數(shù)據(jù)長(zhǎng)度16位   
 Uint16 Digital_Audio_Inteface_Format[2]={
 	Codec_DAIF_REV,
 	DAIF_MS(1)+DAIF_LRSWAP(0)+DAIF_LRP(1)+DAIF_IWL(0)+DAIF_FOR(3)};

	// AIC23的波特率設(shè)置,采樣率為48k,CLKIN=CLKOUT=MCLK
	// 時(shí)鐘模式設(shè)為普通模式,基過采樣率為250Fs
 Uint16 Sample_Rate_Control[2] = {
 	Codec_SRC_REV,
 	SRC_CLKIN(0)+SRC_CLKOUT(0)+SRC_SR(6)+SRC_BOSR(0)+SRC_USB(0)};

	// AIC23寄存器復(fù)位
 Uint16 Reset[2] ={
 	Codec_RST_REV,
 	RST_RES};

	// AIC23節(jié)電方式設(shè)置,所有部分均處于工作狀態(tài)
 Uint16 Power_Down_Control[2] ={
 	Codec_PDC_REV,
 	PDC_DEFAULT};

	// AIC23模擬音頻的控制:關(guān)掉側(cè)音
	// DAC使能,ADC輸入選擇為音頻輸入
 Uint16 Analog_Aduio_Path_Control[2] = {
  	Codec_AAPC_STA2(0),
  	AAPC_STA10(0)+AAPC_STE(0)+AAPC_DAC(1)+AAPC_BYP(0)+AAPC_INSEL(0)+AAPC_MICM(0)+AAPC_MICB(0)};

	// AIC23數(shù)字音頻通路的控制
	// 使能ADC高通濾波
 Uint16 Digital_Audio_Path_Control[2] ={
  	Codec_DAPC_REV,
  	DAPC_DACM(0)+DAPC_DEEMP(0)+DAPC_ADCHP(1)};

	// AIC23數(shù)字接口的使能
 Uint16 Digital_Interface_Activation[2] ={
 	Codec_DIA_REV,
 	DIA_ACT(1)};

	// AIC23左通路音頻調(diào)節(jié)	
 Uint16 Left_Line_Input_Volume_Control[2] ={
  	Codec_LLIVC_LPS(1),
  	LLIVC_LIM(0)+LLIVC_LIV(23)};

	// AIC23右通路音頻調(diào)節(jié)
 Uint16 Right_Line_Input_Volume_Control[2] = {
 	Codec_RLIVC_RLS(1),
 	RLIVC_RIM(0)+RLIVC_RIV(23)};

	// AIC23耳機(jī)左通路音頻調(diào)節(jié)
 Uint16 Left_Headphone_Volume_Control[2] = {
 	Codec_LHPVC_LRS(1),
 	LHPVC_LZC(1)+LHPVC_LHV(127)};

	// AIC23耳機(jī)右通路音頻調(diào)節(jié)
 Uint16 Right_Headphone_Volume_Control[2] = {
 	Codec_RHPVC_RLS(1),
 	LHPVC_RZC(1)+LHPVC_RHV(127)};

/*------------------------------------------------------------------------------------*/
//
// FUNCTION: MAIN
//
/*------------------------------------------------------------------------------------*/
                  
void main(void)
{
    Uint16  DataTempLeft = 0;		// 暫存采樣數(shù)據(jù)
    Uint16  DataTempRight = 0;
    
// Initialize CSL library - This is REQUIRED !!! 
    CSL_init();
	
// The main frequency of system is 240MHz
// 該頻率是為了設(shè)置IIC模塊的需要設(shè)置的,為了使用I2C_setup函數(shù)
    PLL_setFreq(1, 0xC, 0, 1, 3, 3, 0);
  
// Initialize I2C, Using parameters in I2C_Setup structure
	MyI2C_setup(&Setup);

// Open McBSP port 1 and get a McBSP type handle
	hMcbsp = MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);

// Config McBSP	port 1 by use previously defined structure
	MCBSP_config(hMcbsp,&Mcbsp1Config);

// Start McBSP1 
	MCBSP_start(hMcbsp, 
                MCBSP_RCV_START | MCBSP_XMIT_START, 
                0);
    
    /*設(shè)置AIC23各部分均工作*/
    MyI2C_Write( Power_Down_Control,//pointer to data array
	   	       2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );  
          
	/*設(shè)置AIC23的數(shù)字接口*/
	MyI2C_Write( Digital_Audio_Inteface_Format,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );

	 /*設(shè)置AIC23模擬通路*/
	MyI2C_Write( Analog_Aduio_Path_Control,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );

	/*設(shè)置數(shù)字通路*/
	MyI2C_Write( Digital_Audio_Path_Control,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );    
		 
	/*設(shè)置AIC23的采樣率*/
	MyI2C_Write( Sample_Rate_Control,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );

	/*設(shè)置耳機(jī)音量*/
	MyI2C_Write( Left_Headphone_Volume_Control,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );

	/*設(shè)置Line輸入的音量*/
	MyI2C_Write( Left_Line_Input_Volume_Control,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );

	/*啟動(dòng)AIC23*/
	MyI2C_Write( Digital_Interface_Activation,//pointer to data array
	    	   2,				//length of data to be transmitted
	    	   1,				//master or slaver
	    	   CODEC_ADDR,	    //slave address to transmit to
	    	   1,				//transfer mode of operation
	    	   30000			//time out for bus busy
	    	   );
	    	   
/*------------------------------------------------------------------------------------*/	    	        	   
// Receive the ADC output data of CODEC  
// Then output the received data to DAC of CODEC 
/*------------------------------------------------------------------------------------*/

while(TRUE)
	{
    /* 左通路數(shù)據(jù) */
	while(!MCBSP_rrdy(hMcbsp)){};
	DataTempLeft = MCBSP_read16(hMcbsp);
    
    /* 右通路數(shù)據(jù) */
    while(!MCBSP_rrdy(hMcbsp)){};
    DataTempRight = MCBSP_read16(hMcbsp);
    	
	/* 左聲道耳機(jī)輸出 */
	while(!MCBSP_xrdy(hMcbsp)) {};
	MCBSP_write16(hMcbsp,DataTempLeft);
	
	/* 右聲道耳機(jī)輸出 */
	while(!MCBSP_xrdy(hMcbsp)) {};
	MCBSP_write16(hMcbsp,DataTempRight); 
	};     	   	    	       	         	   	    	   
}

/******************************************************************************/
//	No more
/******************************************************************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区免费毛片爱 | 国产一区二区美女| heyzo一本久久综合| 91精品国产综合久久香蕉的特点| 中文字幕第一区二区| 日韩av午夜在线观看| 成人av动漫在线| 欧美成人在线直播| 午夜视频久久久久久| 不卡av在线免费观看| 日韩欧美自拍偷拍| 亚洲国产综合色| 成人久久久精品乱码一区二区三区| 在线播放中文字幕一区| 不卡免费追剧大全电视剧网站| 亚洲欧美日韩国产一区二区三区| 极品少妇一区二区三区精品视频 | 日韩一区二区三区四区| 中文字幕在线不卡一区二区三区| 久久精品国产亚洲一区二区三区| 色素色在线综合| 中文字幕在线一区| 国产成人精品三级| 久久天堂av综合合色蜜桃网| 日日夜夜免费精品| 欧美亚男人的天堂| 一区二区三区日韩精品视频| 韩国成人福利片在线播放| 日韩丝袜情趣美女图片| 亚洲不卡一区二区三区| 在线观看一区二区视频| 中文字幕日韩精品一区| 成人伦理片在线| 亚洲国产精品二十页| 国产一区二区三区久久悠悠色av| 精品91自产拍在线观看一区| 精品一区二区在线看| 日韩美女视频在线| 蜜桃传媒麻豆第一区在线观看| 欧美精品一卡二卡| 亚洲第一在线综合网站| 欧美三级日韩在线| 亚洲午夜在线电影| 欧美三级蜜桃2在线观看| 亚洲综合图片区| 欧美日韩一区二区欧美激情| 亚洲高清不卡在线| 欧美顶级少妇做爰| 青青草精品视频| 欧美一级高清片| 蜜桃久久精品一区二区| 日韩欧美一级二级三级久久久| 日韩不卡一区二区| 日韩午夜电影av| 久久国产麻豆精品| 精品国产乱码久久久久久夜甘婷婷 | 在线免费亚洲电影| 亚洲一区二区在线免费观看视频| 欧美亚洲高清一区二区三区不卡| 亚洲一区二区三区四区五区中文| 欧美日免费三级在线| 午夜av一区二区| 欧美一级艳片视频免费观看| 久久av中文字幕片| 欧美激情中文字幕一区二区| 成人午夜视频网站| 国产精品自拍av| 国产精品美女久久久久aⅴ| 91免费国产在线观看| 亚洲第四色夜色| 日韩视频123| 国产成a人亚洲| 亚洲精品亚洲人成人网| 欧美日韩国产综合久久 | 亚洲免费电影在线| 欧美日韩另类国产亚洲欧美一级| 日韩在线一二三区| 久久免费午夜影院| 99在线精品视频| 香蕉久久一区二区不卡无毒影院 | 波多野结衣欧美| 亚洲自拍偷拍欧美| 日韩一区和二区| 国产成人亚洲精品狼色在线| 国产精品电影院| 欧美日韩国产高清一区| 精品影视av免费| 中文字幕视频一区| 91精品国产综合久久久久久久 | 91片黄在线观看| 三级精品在线观看| 国产亚洲人成网站| 在线视频一区二区三区| 久久草av在线| 亚洲欧美日韩中文播放| 91精品国产入口在线| 国产成人av电影在线| 亚洲在线视频免费观看| www久久精品| 色婷婷综合激情| 黑人巨大精品欧美黑白配亚洲| 最近中文字幕一区二区三区| 91精品免费在线| 成人aa视频在线观看| 日韩高清一级片| 国产精品高清亚洲| 日韩欧美亚洲一区二区| 91亚洲精品一区二区乱码| 免费成人小视频| 樱花影视一区二区| 久久精品水蜜桃av综合天堂| 欧美日韩一区二区三区在线看| 风间由美一区二区三区在线观看 | 国产精品福利av| 欧美电影免费观看高清完整版在| 91在线视频免费观看| 精品一区二区三区蜜桃| 一区二区三区国产豹纹内裤在线| 久久蜜桃av一区精品变态类天堂| 欧美日韩在线播放| 99麻豆久久久国产精品免费优播| 经典三级一区二区| 天堂成人免费av电影一区| 最新日韩在线视频| 久久久国际精品| 91精品啪在线观看国产60岁| 欧洲精品视频在线观看| 成人激情午夜影院| 国精产品一区一区三区mba视频| 亚洲一卡二卡三卡四卡| 国产精品免费久久| 亚洲精品一区二区三区影院| 91麻豆精品国产91久久久久久久久 | 91精品国产综合久久精品app| 91在线你懂得| 成人午夜在线播放| 国产精品18久久久久久久久久久久 | 亚洲一区二区三区影院| 久久中文字幕电影| 欧美人xxxx| 国产精品自拍av| 国产欧美日韩精品a在线观看| 日韩国产成人精品| 成人丝袜高跟foot| 欧美亚洲丝袜传媒另类| 中文字幕一区不卡| 日本美女一区二区| 在线视频综合导航| 青草av.久久免费一区| 麻豆国产精品一区二区三区| 99这里只有久久精品视频| 日韩精品中文字幕一区 | 日本一区二区在线不卡| 欧美一区二区在线不卡| 91首页免费视频| 国产精品一级在线| 国产精品影视在线| 韩国欧美国产一区| 麻豆freexxxx性91精品| 人人精品人人爱| 日韩中文欧美在线| 乱一区二区av| 日韩**一区毛片| 日本视频在线一区| 午夜国产精品一区| 免费在线观看一区| 午夜激情久久久| 麻豆一区二区三| 极品尤物av久久免费看| 国内精品嫩模私拍在线| 国产在线精品免费| 激情五月激情综合网| 国产精品一区二区三区99| 国产一区亚洲一区| 成人在线一区二区三区| 99综合电影在线视频| 色综合中文字幕| 欧美最新大片在线看 | 精品无人码麻豆乱码1区2区 | 美女久久久精品| 激情图区综合网| 国产成人亚洲精品青草天美| 国产mv日韩mv欧美| 92国产精品观看| 不卡视频免费播放| 欧美少妇一区二区| 日韩欧美中文字幕制服| 久久久午夜精品理论片中文字幕| 中文字幕 久热精品 视频在线| 国产精品午夜电影| 亚洲综合成人在线| 日欧美一区二区| 国产乱人伦偷精品视频不卡| 爽好多水快深点欧美视频| 久久精品免费观看| 91日韩精品一区| 日韩一级成人av| 欧美成人一区二区三区在线观看 | 日本一区二区三区在线观看| 欧美久久久久中文字幕|