|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我用例程试了下,发单个字节是没有问题的:
7 c5 V: R5 C0 G8 R1 q6 v下面是我的配置:* R( k R( {) P/ |8 n# q' Q
//*************** RESET MCBSP
, {! w9 N' f% I; M0 W$ s" V McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter1 t, M( Y$ E: z4 x- f
McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word, Digital loopback dis. p; w: o, c' g" ?( ^5 e
" Z, G9 E: Y" w! p2 }
McbspaRegs.PCR.all=0x0F08; //(CLKXM=CLKRM=FSXM=FSRM= 1, FSXP = 1)% q1 y6 Y9 {; k5 m% D
) ?' ^5 B/ t( B" _+ E( E4 E7 L: k% m" L: `
//McbspaRegs.SPCR1.bit.DLB = 1;3 q5 H( ~4 I4 w8 z: T
* i! v" d& o Q% _5 X( F/ G( x) R" | McbspaRegs.SPCR1.bit.CLKSTP = 2; // Low inactive state without delay:& D" F) X6 G& ?. u* ~
McbspaRegs.PCR.bit.CLKXP = 0; // transmits data on the rising edge5 Q: r$ v! M+ @- V
McbspaRegs.PCR.bit.CLKRP = 0; //receives data on the falling edge of MCLKR.
. Y4 V: F( W/ h, s( H1 d- m# a# @' }5 e
McbspaRegs.RCR2.bit.RDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Receive)( M, N% e9 Z% b3 _: h% W
McbspaRegs.XCR2.bit.XDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Transmit)
( c# r1 m# A) @) P$ D3 P0 R6 @4 Q6 W+ N' H1 e: b% ` y
McbspaRegs.XCR2.bit.XPHASE = 0; //发送使用单相位帧7 ?+ ?6 k+ @5 v
McbspaRegs.RCR2.bit.RPHASE = 0; //接收使用单相位帧
& h5 m/ I- B; |: e5 X0 b* Q+ h4 Y1 C s$ p, Y8 w' L7 h+ G
McbspaRegs.RCR1.bit.RWDLEN1 = 2; // 16-bit word
$ |, ?) z0 E6 s+ x9 h% a McbspaRegs.RCR1.bit.RFRLEN1 = 15; F- S9 [' a: G
McbspaRegs.XCR1.bit.XWDLEN1 = 2; // 16-bit word& n9 a/ W1 y. ]) q. g
McbspaRegs.XCR1.bit.XFRLEN1 = 15;* e( S2 `( {/ |2 w* V6 w* g
. v0 X4 I0 f" K. S3 p% J. Y, E McbspaRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK)& J& Y4 e7 q: h
McbspaRegs.SRGR1.bit.CLKGDV = 8; //10 CLKG frequency = LSPCLK/(CLKGDV+1)
. X2 Q& I- ~, T& G& C
/ v4 G6 }9 ^0 S8 r7 \* F ^ McbspaRegs.SPCR2.bit.GRST = 1; // Enable the sample rate generator
, o! B- q* }7 ]. V( L# Y1 z2 j //delay_loop(); // Wait at least 2 SRG clock cycles6 J0 k# F& j1 Z7 {& O
McbspaRegs.SPCR2.bit.XRST = 1; // Release TX from Reset( J4 v, K; ~( ?3 T! w: }& A- T
McbspaRegs.SPCR1.bit.RRST = 1; // Release RX from Reset
1 m" |" j6 a0 X) {* w9 ]1 c$ J delay_loop();
7 ?# T: K8 D& L McbspaRegs.SPCR2.bit.FRST = 1; // Frame Sync Generator reset# h9 d7 s; O5 \7 y( ]
) {$ y( w) }+ s* ~# M& t
我定时发数据16个字节数据
$ F& L) M8 I4 zfor(i=0;i<16;i++)
- O1 J2 w4 V) I( o# B4 c{0 D# w( N D( |# _7 s
McbspaRegs.DXR1.all = Send_Dat[i];6 w6 e v" F/ H' q( L
}
- U5 w4 J0 |# n数据就全部错位了,但如果只发一个字节,则没有问题。
( e* I% n; P% g9 Z7 q4 t- ]请教各位,是否有遇到这个问题,谢谢!5 o7 R( `6 I7 X
|
|