⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 利用合众达的C5416开发板上的ACI32B芯片编程的信号分析并进行FFT变换。
💻 C
字号:
/* filename:main.c */
#include "user.h"
#include "var.h"
#include "codec.h"
#include "dma54xx.h"
#include "tms5416.h"
#include "mcbsp54.h"
#include "sysreg.h"
//#define CLK160  09007H
struct compx {float real,imag;};

//volatile struct compx a[8192];

HANDLE codec_command =0;
	HANDLE codec_data=0;
	 int audiodata =0;	
	unsigned int i= 0,j=0;
	unsigned int k= 0;
	 float b[8192];
void main()
{int temp;float xxx,yyy;
//初始化系统
 //init_board();
 
 asm("  rsbx xf");
 /*row=0;
 size=16384;	
 *change=0;	
 *rd_status=0;
 *size1=16384;
 *sa_fre=10;
 *mode=0;
 setfrequency(10); 	*/	            
 
 
 
 xxx=7.123;
 yyy=xxx*1.5;
/*
 asm("  nop");
 asm("  nop");
 asm("  nop");
 asm("  nop"); 

 tran_freq(a,8192);  
 FFT(a,8192);
 unpack(a,8192);
 AGC(a);

 asm("  nop");
 asm("  nop");
 */
 /*设置系统时钟*/
	sys_clk(CLK160);
	/*初始化DEC5416板卡*/
	dec5416_init();
	/*打开codec数据接口*/
	codec_data = codec_open(CODEC_DATA);
	/*打开codec命令接口*/
	codec_command = codec_open(CODEC_COMMAND);
	/*选择麦克风,或是LINE作为输入,这里选择LINE*/
	codec_analog_mode(codec_command,0x94);
	/*设置波特率,输入与输出均为8K*/
	codec_sample_rate(codec_command,0x1d);
	/*修改其它参数请参看dec5416.c关于CODE的初始化的部分*/
	/*配置系统存储器*/	
	memory_set(0x80);
 while(1)
 {	while (!MCBSP_RRDY(CODEC_DATA)) {};
		/* Read sample from and write back to handset codec */
		audiodata = *(volatile u16*)DRR1_ADDR(CODEC_DATA);
       *(volatile u16*)DXR1_ADDR(CODEC_DATA) = audiodata;}
       }
	
	/**************row=0;j=0;	
	 while(row<16384)
	 {			
		/* Wait for sample from handset */
	//	while (!MCBSP_RRDY(CODEC_DATA)) {};
		/* Read sample from and write back to handset codec */
//		audiodata = *(volatile u16*)DRR1_ADDR(CODEC_DATA);
		//////////////////////////////////////////////////
	/* if((j==0))
		 {
	     *(sam+row)=audiodata;
	     row++;	
	     //*(volatile u16*)DXR1_ADDR(CODEC_DATA) = audiodata;
	     j=1;
	     }
	    else
	     {j=0; };
	  };
	  
	
	  
	  row=0;
       FFT(a,8192);
       unpack(a,8192); */
   ///////////////////////////    for(kk=0;kk<4096;kk++)
    ///////////////////     b[kk]=a[kk].real;
	 
	  
//  *(volatile u16*)DXR1_ADDR(CODEC_DATA) = audiodata;	
	  
/////////	   if(i>8192)
//////////	     {
	   ///////   i=0;
	   //   *(volatile u16*)DXR1_ADDR(CODEC_DATA) = audiodata;
///////////	     };
	     
		//*(volatile u16*)DXR1_ADDR(CODEC_DATA) = audiodata;
//////////////	}			
///////}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -