DSP28335有兩套MCBSP,我給他們相同的配置,連接AIC320音頻模塊,MCBSPA可以正常接受和發送資料,但MCBSPB卻不能接收資料請問是為什么呢?難到是配置問題?配置代碼和主程式如下。
配置:void InitMcbspa(void)
{
// McBSP-A register settings
McbspaRegs.SPCR1.all=0;
McbspaRegs.SPCR2.all=0;
McbspaRegs.SPCR1.all = SPCR10_VAL;
McbspaRegs.SPCR2.all = SPCR20_VAL;
McbspaRegs.PCR.all = PCR0_VAL;
McbspaRegs.XCR1.all = XCR10_VAL;
McbspaRegs.XCR2.all = XCR20_VAL;
McbspaRegs.RCR1.all = RCR10_VAL;
McbspaRegs.RCR2.all = RCR20_VAL;
McbspaRegs.DXR1.all = 0;
McbspaRegs.MFFINT.bit.RINT = 1;
McbspaRegs.SPCR1.bit.RRST = 1;
McbspaRegs.SPCR2.bit.XRST = 1;
}
#if (DSP28_MCBSPB)
void InitMcbspb(void)
{
// McBSP-B register settings
McbspbRegs.SPCR1.all=0;
McbspbRegs.SPCR2.all=0;
McbspbRegs.SPCR1.all = SPCR10_VAL;
McbspbRegs.SPCR2.all = SPCR20_VAL;
McbspbRegs.PCR.all = PCR0_VAL;
McbspbRegs.XCR1.all = XCR10_VAL;
McbspbRegs.XCR2.all = XCR20_VAL;
McbspbRegs.RCR1.all = RCR10_VAL;
McbspbRegs.RCR2.all = RCR20_VAL;
McbspbRegs.DXR1.all = 0;
McbspbRegs.MFFINT.bit.RINT = 1;
McbspbRegs.SPCR1.bit.RRST = 1;
McbspbRegs.SPCR2.bit.XRST = 1;
}
#endif // end DSP28_MCBSPB
主程式:
void main()
{
Uint16 temp,i;
int m,n,m1,n1=0;
int x=0;
InitSysCtrl();
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
LED_Init();
TIM0_Init(150,500000);//200ms
UARTa_Init(4800);
//InitMcbspaGpio(); //zq
InitMcbspbGpio(); //zq
InitI2CGpio();
I2CA_Init();
AIC23Write(0x00,0x00);
Delay(100);
AIC23Write(0x02,0x00);
Delay(100);
AIC23Write(0x04,0x40);
Delay(100);
AIC23Write(0x06,0x40);
Delay(100);
AIC23Write(0x08,0x14);
Delay(100);
AIC23Write(0x0A,0x00);
Delay(100);
AIC23Write(0x0C,0x00);
Delay(100);
AIC23Write(0x0E,0x43);
Delay(100);
AIC23Write(0x10,0x23);
Delay(100);
AIC23Write(0x12,0x01);
Delay(100); //AIC23Init
//InitMcbspa(); // Initalize the Mcbsp-A
InitMcbspb(); // Initalize the Mcbsp-B
//發出報警聲
while(1)
{
for(temp=30000;temp>0;temp-=100)
{
for(i=0;i<2;i++)
{
y=50000;
x++;
//m=McbspaRegs.DRR1.all ;// 輸出左聲道資料
//n=McbspaRegs.DRR2.all ;// 輸出右聲道資料
m1=McbspbRegs.DRR1.all ;// 輸出左聲道資料
n1=McbspbRegs.DRR2.all ;// 輸出右聲道資料
y=-50000;
//McbspaRegs.DXR2.all = n;// 輸出左聲道資料
//McbspaRegs.DXR1.all = m;// 輸出右聲道資料
McbspbRegs.DXR2.all = n1;// 輸出左聲道資料
McbspbRegs.DXR1.all = m1;// 輸出右聲道資料
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/32293.html
標籤:單片機/工控
