?? audio.c
字號:
/*
;***********************************************************************
;* 北京達盛科技有限公司
;* 研 發 部
;*
;* http://www.techshine.com
;*
;*--------------------------------------------- 文件信息 ---------------
;*
;* 文件名稱 : AUDIO.C
;* 文件功能 : 該文件為測試TLV320AIC23的測試程序,CPU=TMS320VC5402
;* MCLK = 12.288 MHz,TLV320AIC23=MASTER
;* 接口說明:MCBSP0配置成SPI方式,設置TLV320AIC23的寄存器,
;* MCBSP1配置成32位方式,和TLV320AIC23交換數據
*/
//------------------頭文件--------------------------------------
//#include "MMRegs.h"
#include "DspRegDefine.h"
#include "System.h"
#include "G711.h"
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
//#include "typedef.h"
//---------------------------------------------------------------
/* ****************** 宏定義 ***************
************************************************************
*/
#define UCHAR unsigned char
#define UINT16 unsigned int
#define UINT32 unsigned long
#define TRUE 1
#define FALSE 0
#define Length 128
#define N 1024
#define M 7
#define pi 3.1415
/*
************************************************************
****************** 全局變量*******************
************************************************************
*/
UINT16 read_data2,read_data1,read_temp; //MCBSP1 接收數據變量
UINT16 write_data2,write_data1,write_temp; //MCBSP1 發送數據變量
UINT16 readaudio1[256],readaudio2[256];//MCBSP1 接收數據變量數組
UCHAR flag;
UINT16 caiyang1[M][N]; //,caiyang2[M][N]
//double fs,nlpass,nlstop,nhpass,nhstop,a[3],b[3];
//int x1,x2,y1,y2;
// UINT16 *pp=*(UINT16*)0x10000;
/*
**********************************************************************
*************** 所使用的函數原型 *****************
**********************************************************************
*/
void cpu_init(void); //初始化CPU
void aic23_init(void);//初始化TLV320AIC23,設置內部寄存器
void mcbsp0_write_rdy(UINT16 out_data);//MCBSP0發送一個數據
void mcbsp0_init_SPI(void);//MCBSP0設置為SPI模式
void mcbsp0_close(void);//MCBSP0關閉
void mcbsp1_init(void);//MCBSP1初始化
void mcbsp1_write_rdy(UINT16 out_data1,UINT16 out_data2);//MCBSP1發送一個數據32位
void mcbsp1_read_rdy(void);////MCBSP1接收一個數據32位
void mcbsp1_open(void);//MCBSP1打開
void mcbsp1_close(void);//MCBSP1關閉
interrupt void mcbsp1_read(void);//MCBSP1中斷接收數據
interrupt void mcbsp1_write(void); //MCBSP1中斷發送數據
interrupt void int1() ;
void Delay(int numbers); //延遲
//void biir2lpdes(double fs, double nlpass, double nlstop, double a[], double b[]) ;
/*
************************************************************************
*********************** 函數定義 ******************
************************************************************************
*/
//--------------------------------------------------------------------
// 函數名稱 : void cpu_init(void)
// 函數說明 : 初始化CPU
// 輸入參數 : 無
// 輸出參數 : 無
//--------------------------------------------------------------------
void cpu_init(void)
{
asm(" nop ");
asm(" nop ");
asm(" nop ");
//--------------------------------------------------------------------
*(unsigned int*)CLKMD=0x0; //switch to DIV mode clkout= 1/2 clkin
while(((*(unsigned int*)CLKMD)&01)!=0);
*(unsigned int*)CLKMD=0x07ff; //switch to PLL X 1 mode
//--------------------------------------------------------------------
*(unsigned int*)PMST=0x3FF2;
//---------------------------------------------------------------------
//--------------------------------------------------------------------
*(unsigned int*)SWWSR=0x7fff;
//--------------------------------------------------------------------
*(unsigned int*)SWCR=0x0001;
//--------------------------------------------------------------------
*(unsigned int*)BSCR=0xf800;
//--------------------------------------------------------------------
asm(" ssbx intm "); //Disable all mask interrupts
//--------------------------------------------------------------------
*(unsigned int*)IMR=0x0;
//--------------------------------------------------------------------
*(unsigned int*)IFR=0xffff;
//--------------------------------------------------------------------
asm(" nop ");
asm(" nop ");
asm(" nop ");
}
//--------------------------------------------------------------------
/*
*************************************************************************
- 函數名稱 : void aic23_init(void)
- 函數說明 : 初始化AIC23
- 輸入參數 : 無
- 輸出參數 : 無
- 補充說明 :
**************************************************************************
*/
void aic23_init(void)
{
mcbsp0_write_rdy(0x1e00); //REG10 RESET AIC23
asm(" nop "); //Address (bits 15-9) 0001111
//RES (bits 8-0) 000000000
//-----0001 1110 0000 0000
mcbsp0_write_rdy(0x0117); //REG0 Left line input channel volume control
asm(" nop "); //Address (bits 15-9) 0000000
//LRS (bits 8) 1 Left/right line simultaneous volume/mute update Enabled
//LIM (bits 7) 0 Left line input mute 0 = Normal
//XX (bits 6-5) 00 Reserved
//LIV[4:0] (bits 4-0) 10111 Left line input volume control (10111 = 0 dB default)
//-----0000 0001 0001 0111
mcbsp0_write_rdy(0x0317); //REG1 Right Line Input Channel Volume Control
asm(" nop "); //Address (bits 15-9) 0000001
//RRS (bits 8) 1 Left/right line simultaneous volume/mute update Enabled
//RIM (bits 7) 0 Left line input mute 0 = Normal
//XX (bits 6-5) 00 Reserved
//RIV[4:0] (bits 4-0) 10111 Left line input volume control (10111 = 0 dB default)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -