您好:
我用MCBSP配置成32位方式,和TLV320AIC23交换数据。
输入信号,采完几次数据后
McbspaRegs.SPCR1.bit.RRDY 就是那个 SPCR1的RRDY始终处于0. 接收器没有准备好 是什么原因呢?
以下是MCBSP初始化程序
void mcbsp_init(void)
{
//复位 McBSP
McbspaRegs.SPCR2.bit.XRST=0; // Transmitter reset
McbspaRegs.SPCR1.bit.RRST=0; // Receiver reset
//延迟
Delay(10); //延迟 4000*CPU 时钟周期
//等待复位稳定
McbspaRegs.RCR1.all=0x00A0; //接收帧长度为1,每帧1个码字;接收字长为1,每字32位
McbspaRegs.RCR2.all=0x00A0; //
McbspaRegs.XCR1.all=0x00A0; //
McbspaRegs.XCR2.all=0x00A0; //单相位帧,发送帧长度为2,每帧一个码字;接收字长位2,每字32位?
//无压缩扩展模式;发送帧忽略;发送数据无延时
McbspaRegs.PCR.all=0x000D; //接收/发送帧同步极性,脉冲低有效;发送数据在上升沿被采集;接收数据在下降沿被采集
McbspaRegs.SPCR1.bit.RRST=1; //SET SPCR1.0(RRST)=1,允许MCBSP接收
// McbspaRegs.SPCR2.bit.XRST=1; //SET SPCR2.0(XRST)=1,允许MCBSP发送
}