www.pudn.com > wavDEMO.zip > AD50.C


/************************************* 
  Copyright 2001 by Haia Tech 
  海佳科技有限公司 
  www.haia2004.com 
  Email:haia2004@vip.sina.com 
  Tel:0731-4552122 4553216 
*************************************/ 
#include "cpu_reg.h" 
#include "common.h" 
 
 
int stero,stero_num; 
 
 
extern int *videobuf; 
extern unsigned int DA_rptr; 
extern unsigned int out_wptr,out_rptr,AD_rptr; 
extern int readbuf[READSIZE],readp; 
extern int readmenubuf[READSIZE],readmenup; 
extern unsigned int rec_pack,status; 
extern int bitrate; 
extern int talkbuf[TALK_SIZE*2] ; 
extern unsigned int  member_num,rec_packflag; 
extern unsigned int dat_type; 
 
void write_subreg0(unsigned int addr,unsigned int val); 
unsigned int read_subreg0(unsigned int addr); 
 
 
unsigned int read_subreg0(unsigned int addr) 
{ 
       *(SPSA0)=addr; 
       return(*SPSD0); 
}  
     
void write_subreg0(unsigned int addr,unsigned int val) 
{ 
      *(SPSA0)=addr; 
      *(SPSD0)=val; 
}   
 
void McBsp0_init() 
{ 
 
     write_subreg0(SPCR1,0); 
     write_subreg0(SPCR2,0); 
 
     write_subreg0(SPCR1,SPCR10_VAL); 
     write_subreg0(SPCR2,SPCR20_VAL); 
     write_subreg0(PCR,PCR0_VAL); 
 
     write_subreg0(RCR1,RCR10_VAL); 
     write_subreg0(RCR2,RCR20_VAL); 
     write_subreg0(XCR1,XCR10_VAL); 
     write_subreg0(XCR2,XCR20_VAL); 
     delay(10); 
      
     *(DXR10)=0; 
      
     /*now enable McBSP transmit and receive*/ 
     write_subreg0(SPCR1,SPCR10_VAL|1); 
     write_subreg0(SPCR2,SPCR20_VAL|1); 
     delay(10); 
     *(IMR)|=0x0010;    /*开接收0中断*/ 
      
}      
 
 
interrupt void  codec_ch0_in() //接收0中断 
{ 
        int temp; 
         
        temp=*DRR10; 
        if(status==PLAY) 
        { 
            readp++; 
            if(readp>=READSIZE) 
              readp=0; 
            *DXR10=readbuf[readp]; 
        } 
                
}