www.pudn.com > wavDEMO.zip > cdjk.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" 
unsigned int read_subreg1(unsigned int addr); 
void write_subreg1(unsigned int addr,unsigned int val); 
 
extern int *videobuf; 
unsigned int readp=0; 
unsigned int readmenup=0; 
int readbuf[READSIZE]; 
int readmenubuf[READSIZE]; 
unsigned short count; 
unsigned short r_mp3,w_mp3,bit_mp3; 
 
extern short property; 
extern unsigned int pic_wptr,pic_rptr,dat_type; 
extern int talkbuf[TALK_SIZE*2] ; 
 
 
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() 
{ 
 
     unsigned int SPCR2_VAL1=0; 
      
     write_subreg1(SPCR1,0); 
     write_subreg1(SPCR2,0); 
 
     write_subreg1(SRGR1,SRGR1_VAL1); 
     write_subreg1(SRGR2,SRGR2_VAL1); 
 
     write_subreg1(SPCR1,SPCR1_VAL1); 
     write_subreg1(SPCR2,SPCR2_VAL1); 
     write_subreg1(PCR,PCR_VAL1); 
 
     write_subreg1(XCR1,XCR1_VAL1); 
     write_subreg1(XCR2,XCR2_VAL1); 
     //GRST=1 
     SPCR2_VAL1|=0x40; 
     write_subreg1(SPCR2,SPCR2_VAL1); 
     delay(1); 
     //now disable McBSP transmit 
//     SPCR2_VAL1|=0x01; 
     write_subreg1(SPCR2,SPCR2_VAL1); 
     *(DXR20)=0x3333; 
     *(DXR10)=0x3333; 
     delay(1); 
     //  FRST=1   
     SPCR2_VAL1|=0x80; 
     write_subreg1(SPCR2,SPCR2_VAL1); 
           
     write_subreg1(RCR1,RCR1_VAL1); 
     write_subreg1(RCR2,RCR2_VAL1); 
      
     /*now enable McBSP  receive*/ 
     write_subreg1(SPCR1,SPCR1_VAL1|1); 
     delay(10); 
     *(IMR)|=0x0c00;      //recieve send 
}      
 
 
interrupt void  recieve() 
{ 
    int temp; 
    temp=*DRR11;  
    r_mp3++; 
    if(r_mp3>=TALK_SIZE*2) 
       r_mp3=0; 
    talkbuf[r_mp3]=temp;  
} 
 
 
interrupt void  sendmp3() 
{ 
        readp++; 
        if(readp>=READSIZE) 
            readp=0; 
        *(DXR11)=readbuf[readp]; 
}