📄 cdjk.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 + -