📄 filter.c
字号:
/************************************************************
Copyright (C), 2007 by SEED Electronic Technology LTD.
FileName: Filter.c
Author: Ya.X Version : V1.0 Date:2007-09-20
Description: FIR滤波试验演示主程序
*************************************************************/
#include <csl.h>
#include <csl_mcasp.h>
#include "DEC643.h"
#include "codec.h"
#include "filter.h"
#define BUFLEN 1024
#pragma DATA_SECTION(DataBuffer, ".AudioData")
#pragma DATA_ALIGN(DataBuffer, 0x4)
short DataBuffer[BUFLEN];
#pragma DATA_SECTION(DDataBuffer, ".AudioData")
#pragma DATA_ALIGN(DDataBuffer, 0x4)
short DDataBuffer[BUFLEN];
#define SAMPLELONG 3 //选择采样长度
Uint32 SampleLong;
void main()
{
Uint32 i;
MCASP_Handle hMcasp;
/* Initialize CSL. */
CSL_init();
/* Initialize DEC643 board. */
DEC643_init();
#if SAMPLELONG==1
SampleLong =256+256;
#endif
#if SAMPLELONG==2
SampleLong =512+256;
#endif
#if SAMPLELONG==3
SampleLong =1024+256;
#endif
//initialize AIC23
DEC643_AIC23_Config();
/* open the aic23 codec*/
hMcasp = DEC643_AIC23_OpenCodec();
while( TRUE )
{
/*获取SampleLong长度个数据,用于FIR滤波*/
for(i = 0; i<SampleLong; i++)
{
while(!(MCASP_RGETH(hMcasp, SRCTL1) & 0x20));
DataBuffer[i] = MCASP_read32Cfg(hMcasp,MCASP_RBUF1);
}
/*进行FIR滤波操作*/
fir_filter((int *)DataBuffer, (int *)hfir, DDataBuffer, ORDER_FIR, SampleLong,ROUND_FIR);
printf("FIR filter have done!\n");
}
}
/********************************************************************************/
/* End of Filter.C */
/********************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -