|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我用例程试了下,发单个字节是没有问题的:2 l5 Q$ [7 x; l; _! y$ p2 \" m$ n7 J
下面是我的配置:
7 }) H0 P3 S6 f# d. r8 h5 A//*************** RESET MCBSP- s( O. j1 g- R" w ~4 L
McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter
7 D3 \! V' T/ `( J) t9 R- y+ |7 F0 t McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word, Digital loopback dis.) ~. j( K; A$ i. K: E; u8 J
% S3 a# g5 A+ D5 [+ f- R, E
McbspaRegs.PCR.all=0x0F08; //(CLKXM=CLKRM=FSXM=FSRM= 1, FSXP = 1)/ y! s8 r* u% r O- M+ _" x6 i
8 _ _7 y/ k9 |5 M
2 W" T+ x# ^) b! M! T //McbspaRegs.SPCR1.bit.DLB = 1;. x( l: ^ v! c
4 D$ O, X K4 @
McbspaRegs.SPCR1.bit.CLKSTP = 2; // Low inactive state without delay:
0 }, @9 g5 k- a1 I2 R McbspaRegs.PCR.bit.CLKXP = 0; // transmits data on the rising edge
! Z9 g9 a! D5 L! l d, `2 i McbspaRegs.PCR.bit.CLKRP = 0; //receives data on the falling edge of MCLKR.% F1 ]+ ]/ R. ` }: ^3 N1 C0 K/ u
$ V3 {0 }* Y+ {: R- ]( L McbspaRegs.RCR2.bit.RDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Receive)
: a, S7 U3 e5 b! Z McbspaRegs.XCR2.bit.XDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Transmit)) D7 n- z6 u7 V* e9 O
1 u$ U; W+ X# E7 b: v2 h% [ McbspaRegs.XCR2.bit.XPHASE = 0; //发送使用单相位帧
1 I- b4 O0 i6 m) Y! z" M+ j McbspaRegs.RCR2.bit.RPHASE = 0; //接收使用单相位帧1 G6 f B2 N0 u8 k" q/ z) l
2 T5 E8 K% o7 V( ? McbspaRegs.RCR1.bit.RWDLEN1 = 2; // 16-bit word
, F+ w0 t! L. r" o% K4 B McbspaRegs.RCR1.bit.RFRLEN1 = 15;6 q. \$ g5 l" @; J% n) i/ N6 [( Q+ f
McbspaRegs.XCR1.bit.XWDLEN1 = 2; // 16-bit word
; ~( Z j7 J, u" S1 V! |; r. i McbspaRegs.XCR1.bit.XFRLEN1 = 15;( ~; {- u5 o) [3 l( C( w
0 | Y$ Y3 _! Z McbspaRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK)
/ m/ t: c# b; F9 U6 z1 y$ M8 g McbspaRegs.SRGR1.bit.CLKGDV = 8; //10 CLKG frequency = LSPCLK/(CLKGDV+1). ^' r$ f7 I, ?+ y# {
7 \! o v! X( s8 K! e u
McbspaRegs.SPCR2.bit.GRST = 1; // Enable the sample rate generator
, j5 A! x2 f# F' J _7 K. u5 s l3 `$ a' T //delay_loop(); // Wait at least 2 SRG clock cycles( G- l# c$ S3 b% |; |2 I) g' ~
McbspaRegs.SPCR2.bit.XRST = 1; // Release TX from Reset& |" @& f4 ~, c5 v; a
McbspaRegs.SPCR1.bit.RRST = 1; // Release RX from Reset
3 p! O7 U! k1 B# L& m7 O delay_loop();
s& K6 q' i7 U0 `9 x McbspaRegs.SPCR2.bit.FRST = 1; // Frame Sync Generator reset$ I% U& @4 O( j2 d) e
3 Y/ B0 y0 [1 D* i+ d我定时发数据16个字节数据
* o+ z7 ?' O" R ]4 ]; Vfor(i=0;i<16;i++) ` B- h, _+ ?3 V; @6 {2 Z+ M
{
/ Y1 i5 V+ q, F) C8 i8 \ McbspaRegs.DXR1.all = Send_Dat[i];( s% ~$ j. `5 I ^ W& U
}
1 W4 `! m* R5 O8 }) D8 ?数据就全部错位了,但如果只发一个字节,则没有问题。. w S% S% E/ G- G
请教各位,是否有遇到这个问题,谢谢!
/ C% ?4 V$ y7 v$ G8 `0 C |
|