📄 aic23_loopback.c
字号:
#include "6713.h"
#include "cfg6713.h"
#include "aic23cfg.h"
#include "evm6713.h"
#include "functions.h"
#include "CTR.h"
#include "scancode.h"
#include "ICETEK-C6713-A.h"
#include<math.h>
int jj;
int buf[256];
#define nSoundNumber 0x0ffffff
#define FIRNUMBER 64
int *p=(int *)0x80000000;
int nNumber=0,Number=0;
float fHnL[FIRNUMBER]={
-0.00078814,
-0.00080162,
-0.00083956,
-0.00089177,
-0.00094191,
-0.00096785,
-0.00094226,
-0.00083371,
-0.00060795,
-0.00022950,
0.00033660,
0.00112289,
0.00215763,
0.00346299,
0.00505337,
0.00693405,
0.00910009,
0.01153569,
0.01421393,
0.01709707,
0.02013719,
0.02327745,
0.02645364,
0.02959616,
0.03263229,
0.03548863,
0.03809368,
0.04038037,
0.04228852,
0.04376703,
0.04477580,
0.04528721,
0.04528721,
0.04477580,
0.04376703,
0.04228852,
0.04038037,
0.03809368,
0.03548863,
0.03263229,
0.02959616,
0.02645364,
0.02327745,
0.02013719,
0.01709707,
0.01421393,
0.01153569,
0.00910009,
0.00693405,
0.00505337,
0.00346299,
0.00215763,
0.00112289,
0.00033660,
-0.00022950,
-0.00060795,
-0.00083371,
-0.00094226,
-0.00096785,
-0.00094191,
-0.00089177,
-0.00083956,
-0.00080162,
-0.00078814
};//1K低通滤波参数
float fXn[FIRNUMBER]={ 0.0 };
int i,ii=0,flag3=0,flag4=0,flag6=0,flag7=0,Ch=0,bCode=0;
unsigned char IntToALaw(int nInput);
int ALawToInt(unsigned char nInput);
void InputWave(float);
float FIRL();
float FIRH();
main()
{
int i;
jj=0;
for(i=0;i<FIRNUMBER;i++)
fXn[i]=0.0;
init_pll();
chip_sel();
init_emif();
InitCTR();
init_MCBSP0();
init_MCBSP1();
AIC23_cfg();
initInterrupt();
for(;;) ;
CloseCTR();
exit(0);
}
void interrupt rxVioce( void )
{
short int j;
if(bCode==0)
{
j=McBSP0_DRR;
McBSP0_DXR=j;
}
else
{
j=McBSP0_DRR;
InputWave(j);
j=FIRL();
McBSP0_DXR =j;
}
}
void InputWave(float a)
{
for ( i=FIRNUMBER-1;i>0;i-- )
fXn[i]=fXn[i-1];
fXn[0]=a;
}
float FIRL()
{
float fSum;
fSum=0;
for ( i=0;i<FIRNUMBER;i++ )
{
fSum+=(fXn[i]*fHnL[i]);
}
return(fSum);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -