|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我用例程试了下,发单个字节是没有问题的:2 o- B8 R; D# ]) K% Y/ M$ l: s
下面是我的配置:, {3 P6 Q9 [' r) G
//*************** RESET MCBSP
9 U9 h: J! J3 ?+ e9 w6 u. e McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter& ], B: q0 l, T' g$ o3 s3 d
McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word, Digital loopback dis.' ~" D( {. _: U
, d$ c4 n' w2 o/ O- n, `* _7 e7 e4 J8 e McbspaRegs.PCR.all=0x0F08; //(CLKXM=CLKRM=FSXM=FSRM= 1, FSXP = 1)
* n3 m6 a6 V. G9 |
8 p; y5 L6 c' t9 ^
# R0 R0 F+ c& R1 O //McbspaRegs.SPCR1.bit.DLB = 1;
2 ^9 k0 q) N. S' `' S+ ]+ u$ q0 j$ M2 c
McbspaRegs.SPCR1.bit.CLKSTP = 2; // Low inactive state without delay:' n1 p! P1 |% `! C
McbspaRegs.PCR.bit.CLKXP = 0; // transmits data on the rising edge
6 H; j% e2 i' ]+ I4 X McbspaRegs.PCR.bit.CLKRP = 0; //receives data on the falling edge of MCLKR.# Y. q/ D! a, c6 B
6 @$ k! ^4 s }, O) M
McbspaRegs.RCR2.bit.RDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Receive). w) I5 ?7 i0 J1 K6 [9 B
McbspaRegs.XCR2.bit.XDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Transmit)
0 @5 R) \# p6 w0 Q
: f. b3 p$ n" D) \- v2 B8 W McbspaRegs.XCR2.bit.XPHASE = 0; //发送使用单相位帧
9 k% P. ]6 P) C: C McbspaRegs.RCR2.bit.RPHASE = 0; //接收使用单相位帧2 A, D( ~0 j& x+ e: Y% ^
! u6 ?+ B( P" f; V
McbspaRegs.RCR1.bit.RWDLEN1 = 2; // 16-bit word- ^9 g( p% u+ B5 D/ q5 x* t) ~
McbspaRegs.RCR1.bit.RFRLEN1 = 15;
1 b2 a. A$ D( Y1 j3 ?5 t( H) k( N McbspaRegs.XCR1.bit.XWDLEN1 = 2; // 16-bit word
& H8 F. O6 \0 i q! a9 B/ u _ McbspaRegs.XCR1.bit.XFRLEN1 = 15;7 @; B. J8 G; S3 v
- ]# \) R! ^6 g0 d K
McbspaRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK)* ^: ]; V8 G0 [* N* W! Q, ]. i
McbspaRegs.SRGR1.bit.CLKGDV = 8; //10 CLKG frequency = LSPCLK/(CLKGDV+1)
6 Q7 z% T# V5 l" o
: G" i! |9 @" A McbspaRegs.SPCR2.bit.GRST = 1; // Enable the sample rate generator
, S( c% A- x- R4 {; I3 u //delay_loop(); // Wait at least 2 SRG clock cycles
/ I! O1 [6 W7 y+ w* ^$ O McbspaRegs.SPCR2.bit.XRST = 1; // Release TX from Reset8 q: Z9 c2 k" E S r0 S/ _
McbspaRegs.SPCR1.bit.RRST = 1; // Release RX from Reset; d1 T- o+ K; h
delay_loop();, I7 V) I% m6 J# q5 G' S/ h
McbspaRegs.SPCR2.bit.FRST = 1; // Frame Sync Generator reset
8 C* |0 i4 h7 r' J9 J) ^8 N6 t2 c6 X. \2 [
我定时发数据16个字节数据
: o; \9 U$ e. h5 j0 t8 vfor(i=0;i<16;i++)- v; z- W" ^( B; ^' K4 i
{
# T& x5 g1 u& X7 V+ B# l% m0 ] McbspaRegs.DXR1.all = Send_Dat[i];. @" }# B1 }# @# a! \/ C* L5 k
}* p8 z. K5 N( z+ s; x& v
数据就全部错位了,但如果只发一个字节,则没有问题。3 K4 }1 U: {: Y6 m4 s e% b7 r
请教各位,是否有遇到这个问题,谢谢!" v7 L2 C- c0 Y+ P. B$ E
|
|