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

📄 mcbsp1.c

📁 TMS32VC5402+aAIC23立体声语音控制采集处理程序
💻 C
字号:
#include "cpu_reg.h"
//#include "math"
int ADbuf[500];
unsigned int i=0;
extern int DA_wptr,DA_rptr,y;
extern int play_mode;
int record[4096];
int cop[4096];
unsigned int j=0;
float e=0;

void write_subreg1(unsigned int addr,unsigned int val);
unsigned int read_subreg1(unsigned int addr);

unsigned int read_subreg1(unsigned int addr)
{
       *(SPSA1)=addr;
       return(*SPSD1);
} 
    
void write_subreg1(unsigned int addr,unsigned int val)
{
      *(SPSA1)=addr;
      *(SPSD1)=val;
}  

void McBsp1_init()
{

     write_subreg1(SPCR1,0);
     write_subreg1(SPCR2,0);

     write_subreg1(SPCR1,SPCR11_VAL);
     write_subreg1(SPCR2,SPCR21_VAL);
     write_subreg1(PCR,PCR1_VAL);

     write_subreg1(RCR1,RCR11_VAL);
     write_subreg1(RCR2,RCR21_VAL);
     write_subreg1(XCR1,XCR11_VAL);
     write_subreg1(XCR2,XCR21_VAL);
     delay(10);
     
     *(DXR11)=0;
     
     /*now enable McBSP transmit and receive*/
     write_subreg1(SPCR1,SPCR11_VAL|1);
     write_subreg1(SPCR2,SPCR21_VAL|1);
     delay(10);
     
     *(IMR)|=0x0010;    //开接收0中断
     
}     

void delay(int k)
{
   while(k--);
}

interrupt void  codec_ch1_in() //接收0中断  BRINT0
{
      int temp=0;
      temp=(*DRR11);        //放音 
      cop[j]=temp;
      //e=temp*3.1;
      //temp=e;
      e=temp*2.4;
      temp=e;
      //temp=temp&0xf000;//数据格式为整形数据
      //if(i%2==1) temp=temp<<2; //数据移位即是乘法运算
     // temp=temp;//*1.2;//*(sin(6.28*i/0x7fff)+3);
      //if(i%2==1) temp=temp&0x0000;//左右分时传输
      //e=temp;
     //e=e+1;
      //temp=e;
      record[j]=temp;
      j++;
      if(j>4095) j=0;
      //record[i]=(*DRR11)&0x00ff; 
      //i++;
      //if(i==1024)i=0;
      //DA_rptr++;
      //if(DA_rptr>=500)
      //      DA_rptr=0;
 
      //ADbuf[DA_rptr]=temp;   //保存录音数据
      
      //if(play_mode==0)
      //  *DXR11=y;           //警报声的幅值
      //else
       *DXR11=temp;

}

⌨️ 快捷键说明

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