打印

将McBSP用作SPI,发送数据有问题,不知道怎么回事?

[复制链接]
1359|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
thf2008|  楼主 | 2009-9-22 14:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我将McBSP用作SPI功能,我的数据长度是8位,发送一个1,本来应该一个时钟周期为高电平,可是我输出的确是三到四个时钟周期,不知道是我哪设置错了?
这是我的McBSP的初始化程序:
void InitMcbsp(void)
{
   
        EALLOW;
        GpioMuxRegs.GPFMUX.all = 0xFF00;
    EDIS;
   
        McbspaRegs.SPCR2.bit.XRST = 0;                // Reset FS generator, sample rate generator & transmitter
    McbspaRegs.SPCR1.bit.RRST = 0;                // Reset Receiver, Right justify word,clock stop mode, without clock
    for(d=0;d<100;d++)
        {;}
    McbspaRegs.SPCR2.bit.GRST = 0;
    McbspaRegs.SPCR1.bit.CLKSTP = 2;
        McbspaRegs.PCR1.bit.CLKXP = 0;
        McbspaRegs.PCR1.bit.CLKRP = 1;
        McbspaRegs.PCR1.bit.SCLKME = 0;     //the clock generated by the sample rate generator is derived form the cpu clock                                            // The Mcbsp is a master in the SPI protocol
    McbspaRegs.SRGR2.bit.CLKSM = 1;                // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK)
        McbspaRegs.SRGR1.bit.CLKGDV = 2;
    McbspaRegs.PCR1.bit.FSXM = 1;                // FSX generated internally, FSR derived from an external source
    McbspaRegs.SRGR2.bit.FSGM = 0;
    McbspaRegs.PCR1.bit.FSXP = 1;
    McbspaRegs.XCR2.bit.XDATDLY=1;
    McbspaRegs.RCR2.bit.RDATDLY=1;
        
    McbspaRegs.SPCR1.bit.RJUST = 0;
        McbspaRegs.PCR1.bit.CLKXM =1;
        McbspaRegs.XCR2.bit.XPHASE = 0;
        McbspaRegs.RCR2.bit.RPHASE =0;
        McbspaRegs.XCR1.bit.XFRLEN1 = 0;
        McbspaRegs.RCR1.bit.RFRLEN1 = 0;
        McbspaRegs.XCR1.bit.XWDLEN1 = 0;
        McbspaRegs.RCR1.bit.RWDLEN1 = 0;

    McbspaRegs.SPCR2.bit.GRST=1; // Enable the sample rate generator
    for(d=0;d<100;d++)
        {;}
    McbspaRegs.SPCR2.bit.XRST=1; // Release TX from Reset
    McbspaRegs.SPCR1.bit.RRST=1; // Release RX from Reset
    McbspaRegs.SPCR2.bit.FRST=1; // Frame Sync Generator reset

}

相关帖子

沙发
thf2008|  楼主 | 2009-9-22 14:56 | 只看该作者
本帖最后由 thf2008 于 2009-9-22 14:57 编辑

这是我用示波器测得数据输出端得波形和时钟端得输出波形

IMGA0002.JPG (617.97 KB )

IMGA0002.JPG

IMGA0003.JPG (654.34 KB )

IMGA0003.JPG

使用特权

评论回复
板凳
thf2008|  楼主 | 2009-9-22 14:58 | 只看该作者
希望做过的人指点一下

使用特权

评论回复
地板
thf2008|  楼主 | 2009-9-23 01:44 | 只看该作者
没有人这么用过的吗?

使用特权

评论回复
5
thf2008|  楼主 | 2009-9-23 01:44 | 只看该作者
还是问题太简单了?

使用特权

评论回复
6
thf2008|  楼主 | 2009-9-23 15:52 | 只看该作者
没人这么用过吗?

使用特权

评论回复
7
lobby| | 2009-9-23 16:11 | 只看该作者
不是太简单
而是确实没用过
帮顶

使用特权

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

本版积分规则

221

主题

2024

帖子

2

粉丝