哪位高手用过mcbsp串口呀,我用两片vc5416进行串口通信,可是有的时候发的数据不对,我用的字节方式传输的,中断发送,中断接受.我的mcbsp设置如下,<br />发送端初始化:<br />void initia_MCBSP(void)<br /> { <br /> SPSA0=0x00;//SPCR1<br /> uWork=SPSD0;<br /> uWork=uWork&0x0000;<br /> SPSD0=uWork;<br /> SPSA0=0x01;//SPCR2<br /> uWork=SPSD0;<br /> uWork=uWork&0x0000;<br /> SPSD0=uWork;<br /> SPSA0=0x00;//SPCR1<br /> uWork=SPSD0;<br /> uWork=uWork|0x0080;//使能dx,并复位接收器;<br /> SPSD0=uWork; <br /> SPSA0=0x01;//SPCR2<br /> uWork=SPSD0;<br /> uWork=uWork|0x0040;//复位发送器,采样率发生器从复位中退出<br /> SPSD0=uWork;<br /> SPSA0=0x0E;//PCR0<br /> uWork=SPSD0;<br /> SPSD0=0x0000;<br /> uWork=0x0A00;//采样率发生器由的桢同步模式位决定发送桢同步信号,<br /> SPSD0=uWork;<br /> SPSA0=0x06;//SRGR1<br /> uWork=SPSD0;<br /> uWork=uWork|0x00fe;<br /> SPSD0=uWork;<br /> <br /> <br /> asm(" nop ");<br /> asm(" nop ");<br /> SPSA0=0x00;//SPCR1<br /> uWork=SPSD0;<br /> uWork=uWork|0x0001;<br /> SPSD0=uWork;<br /> SPSA0=0x01;//SPCR2<br /> uWork=SPSD0;<br /> uWork=uWork|0x0001;<br /> SPSD0=uWork;<br /> <br /> }<br />接受端初始化:<br /> void initia_MCBSP(void)<br /> { <br /> SPSA0=0x00;//SPCR10<br /> uWork=SPSD0;<br /> uWork=uWork&0x0000;<br /> SPSD0=uWork;<br /> SPSA0=0x01;<br /> uWork=SPSD0;//SPCR20<br /> uWork=uWork&0x0000;<br /> SPSD0=uWork;<br /> SPSA0=0x00;//SPCR10<br /> uWork=SPSD0;<br /> uWork=uWork|0x0080;<br /> SPSD0=uWork; <br /> SPSA0=0x01;//SPCR20<br /> uWork=SPSD0;<br /> uWork=uWork|0x0040;<br /> SPSD0=uWork;<br /> SPSA0=0x0E;//PCR0<br /> //uWork=SPSD0;<br /> //SPSD0=0x0000;<br /> uWork=0x0A00;<br /> SPSD0=uWork;<br /> SPSA0=0x06;//SRGR10<br /> uWork=SPSD0;<br /> uWork=uWork|0x00FF;<br /> SPSD0=uWork;<br /> asm(" nop ");<br /> asm(" nop ");<br /> SPSA0=0x00;//SPCR10<br /> uWork=SPSD0;<br /> uWork=uWork|0x0001;<br /> SPSD0=uWork;<br /> SPSA0=0x01;//SPCR2<br /> uWork=SPSD0;<br /> uWork=uWork|0x0001;<br /> SPSD0=uWork;<br /> <br /> }<br /><br />请各位高手给分析一下,初始化是否正确.有例程也行,我这先谢谢了.我的E_mail;yeqingchi@163.com<br /> 07.06.06<br /> |
|