打印

DM642的MCBSP接口配置为SPI主模式

[复制链接]
4998|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangyaliss|  楼主 | 2009-2-21 14:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教各位高手,我用DM642的MCBSP接口作为SPI主器件,来控制DA转换,寄存器初始化如下,程序可以跑起来,DXR寄存器中也有我想要发送的值,但用示波器测量没有信号,片选、时钟、数据都没有输出,有没有哪位大侠指点一下,已经搞了好几天了:

void mcbsp1_init()  //配置McBSP0为SPI主设备
{
       //串行接口接收器被禁止并且处于复位状态
     McBSP1_SPCR = 0x00800000;
        //每帧一段,每段一字,Ignore FS after the first    
        McBSP1_RCR  = 0x00010040;  
       //16 BITs,Ignore FS after the first
        McBSP1_XCR  = 0x00010040;  
        McBSP1_SRGR = 0x200F010F;    
        McBSP1_PCR  = 0x00000A0F;
        McBSP0_SPCR = 0x00801800; 
        //FSX,CLKX输出,FSR,CLKR输入 
      //启动采样率发生器
        McBSP1_SPCR = 0x00C01800;       
        //使能串口的收发,选择时间停止模式
        McBSP1_SPCR = 0x00C11801; 
        //McBSP1_SPCR = 0x00C11801; 

}      


void main()
{
         myhMcbsp1 = MCBSP_open(MCBSP_DEV1, MCBSP_OPEN_RESET);
         mcbsp1_init();   
         MCBSP_enableSrgr(myhMcbsp1);//Enable the McBSP
         MCBSP_enableFsync(myhMcbsp1);
         MCBSP_enableRcv(myhMcbsp1); 
         MCBSP_enableXmt(myhMcbsp1);
         while(1)
      {
              while (!MCBSP_xrdy(myhMcbsp1)){}                       
               MCBSP_write(myhMcbsp1,outA); 
         }
}

相关帖子

沙发
benbenlling| | 2010-3-2 17:26 | 只看该作者
现在怎么样了?

使用特权

评论回复
板凳
jwrr| | 2010-3-11 20:48 | 只看该作者
需要加入延时。可以参考spru943手册52页。 1# wangyaliss

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

4

帖子

0

粉丝