|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
我用例程试了下,发单个字节是没有问题的:
* |" z G% P/ m2 o" I `下面是我的配置:& q6 y5 v, p$ B
//*************** RESET MCBSP
1 ?% y1 o* l+ `8 k! Q# F9 M McbspaRegs.SPCR2.all=0x0000; // Reset FS generator, sample rate generator & transmitter, ?& e; g# r4 q: g5 I
McbspaRegs.SPCR1.all=0x0000; // Reset Receiver, Right justify word, Digital loopback dis.3 _ y- y: d2 F* \- P W& [
7 C; \+ S( Y0 G McbspaRegs.PCR.all=0x0F08; //(CLKXM=CLKRM=FSXM=FSRM= 1, FSXP = 1)
h/ l4 j) D$ C2 {
+ @7 G4 ~1 q0 f+ T2 Y; B8 t7 e' H" ^7 }) n
//McbspaRegs.SPCR1.bit.DLB = 1;
% ?5 }9 F; i+ \( k
/ M% d t/ v* K$ i) }, e McbspaRegs.SPCR1.bit.CLKSTP = 2; // Low inactive state without delay:: J( L! a# M! e" l0 n; S
McbspaRegs.PCR.bit.CLKXP = 0; // transmits data on the rising edge8 f0 ^* }0 h L4 F1 L* _8 y
McbspaRegs.PCR.bit.CLKRP = 0; //receives data on the falling edge of MCLKR.) e4 m2 V2 Q' y% s5 W& T
: F+ a3 w5 V: f" B
McbspaRegs.RCR2.bit.RDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Receive): e" U' z; ~4 R+ F
McbspaRegs.XCR2.bit.XDATDLY = 1; // FSX setup time 1 in master mode. 0 for slave mode (Transmit)1 v0 y7 L1 S, V( z5 \
" k/ _4 C" N! O, I0 I McbspaRegs.XCR2.bit.XPHASE = 0; //发送使用单相位帧; a+ z: @+ O. f/ m7 V$ D2 U
McbspaRegs.RCR2.bit.RPHASE = 0; //接收使用单相位帧, J% e p9 ~/ Y* F" X/ X
. J/ _4 c6 w3 B7 ]7 d* X5 Y' i
McbspaRegs.RCR1.bit.RWDLEN1 = 2; // 16-bit word
% N- G8 R' n4 S# W6 H" p6 R- y5 _ McbspaRegs.RCR1.bit.RFRLEN1 = 15;
+ n/ g) f! \' O McbspaRegs.XCR1.bit.XWDLEN1 = 2; // 16-bit word% | d/ ? N# p6 f
McbspaRegs.XCR1.bit.XFRLEN1 = 15;
* X0 e. T4 m4 Q
* `/ F# R1 c& h McbspaRegs.SRGR2.bit.CLKSM = 1; // CLKSM=1 (If SCLKME=0, i/p clock to SRG is LSPCLK), e2 M; ~0 m- _
McbspaRegs.SRGR1.bit.CLKGDV = 8; //10 CLKG frequency = LSPCLK/(CLKGDV+1)) g& ~2 s& x& l A2 _6 X' L2 V) ]
3 ~8 P: i8 k( n3 ?4 V3 [# r) _
McbspaRegs.SPCR2.bit.GRST = 1; // Enable the sample rate generator0 z1 i. [& a! |& d9 I; ~4 x+ w7 D. {
//delay_loop(); // Wait at least 2 SRG clock cycles
/ \5 S$ z3 Z( ~, B! I. b; L McbspaRegs.SPCR2.bit.XRST = 1; // Release TX from Reset
% w4 |6 @( T `* m! K McbspaRegs.SPCR1.bit.RRST = 1; // Release RX from Reset
' ?& I3 I$ |% _6 D r delay_loop();
: U: P4 x& y# p! [3 t' p- n McbspaRegs.SPCR2.bit.FRST = 1; // Frame Sync Generator reset W) C/ F$ ]% V( F( @# G+ ^
/ s- h0 Z( M& ^, f; B
我定时发数据16个字节数据
5 @. t0 A5 `! [" J1 |for(i=0;i<16;i++)! |$ y5 D+ q5 q# L2 W
{& e! Q/ C* m4 S2 N9 E: Z5 I- N1 n
McbspaRegs.DXR1.all = Send_Dat[i];
8 `! H; A% c4 i/ R( ]}
; s' M! P- P& {2 X1 w7 G" X3 E数据就全部错位了,但如果只发一个字节,则没有问题。. v, ]/ U6 l) ]5 k/ w2 w! g
请教各位,是否有遇到这个问题,谢谢!0 c# M B& x( J; s
|
|