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

📄 cdjk.c

📁 包括DSP实验测试程序、实验示例、应用程序以及经典的DSP的C程序和汇编程序库
💻 C
字号:
#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];
}


⌨️ 快捷键说明

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