This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于TMS320F2812 MCBSP 的接收问题



 您好:

 我用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发送    
}