1 f q% [/ ^; f: C/ [ mcasp->regs->XGBLCTL |= GBLCTL_XSRCLR_ON;3 T! R G! w3 H0 {/ I9 E
while ( ( mcasp->regs->XGBLCTL & GBLCTL_XSRCLR_ON ) != GBLCTL_XSRCLR_ON ); Q# x7 N+ d7 J mcasp->regs->RGBLCTL |= GBLCTL_RSRCLR_ON; & R1 t f3 t3 w1 _5 M( P" v7 H
while ( ( mcasp->regs->RGBLCTL & GBLCTL_RSRCLR_ON ) != GBLCTL_RSRCLR_ON );2 C' r% `+ s$ j0 E
/ b$ F& Z1 s! h# t /* Write a 0, so that no underrun occurs after releasing the state machine */ 9 R9 X; \. e1 Z/ F/ l% u mcasp->regs->XBUF5 = 0; ( r$ `( B- U# L. x! q4 Y mcasp->regs->RBUF0 = 0; ! }8 e6 [2 i" T. h7 U' \! ]2 p9 G. }8 r s
mcasp->regs->XGBLCTL |= GBLCTL_XSMRST_ON; ' D# M& N9 Z$ k- x0 ]9 p7 ] while ( ( mcasp->regs->XGBLCTL & GBLCTL_XSMRST_ON ) != GBLCTL_XSMRST_ON );5 |1 M6 v& o7 y( @ w& B
mcasp->regs->RGBLCTL |= GBLCTL_RSMRST_ON; , m! X, w: w5 Y% P while ( ( mcasp->regs->RGBLCTL & GBLCTL_RSMRST_ON ) != GBLCTL_RSMRST_ON );4 i, o' n* o, C H1 \, N
" q S" ?8 |2 ~5 M- k mcasp->regs->XGBLCTL |= GBLCTL_XFRST_ON; : @. k5 H9 \5 z+ ^3 G while ( ( mcasp->regs->XGBLCTL & GBLCTL_XFRST_ON ) != GBLCTL_XFRST_ON );9 b1 }4 J! C# d
mcasp->regs->RGBLCTL |= GBLCTL_RFRST_ON; 0 R7 i; H! h; r8 `
while ( ( mcasp->regs->RGBLCTL & GBLCTL_RFRST_ON ) != GBLCTL_RFRST_ON );! m! g9 e/ j+ V9 T
( r8 _; L& B+ {4 S, ~
CSR = 0x0000;% F* R; b3 i" x4 Q6 ~- |9 ]
INTC_INTMUX1 = 0x3d;( ^& u5 p6 P& {, I5 O
ISTP = (unsigned int)vectors; 5 A4 L' d2 {2 X$ h ICR = 0xFFF0; ( A. u7 y9 b, @% K- H
IER |= 0x12; 5 e, Y0 g1 \" T# |
CSR |= 0x01; - [2 a* | T1 R9 g( J% N3 f, w+ [5 ~2 F; O
8 Q# K3 U1 e" o; ^2 J) y3 B$ Y- r; W
- V- L! u. A/ W, I" b
还有就是两个输入输出函数:+ D3 }0 H1 V$ G% T1 a
void output_sample(Int32 out_data) 9 T$ k( u b1 ^0 Z! c{ 5 `7 @* k* q' X, _# g2 F3 h( ` AIC31_data.uint = out_data; # ^: S, r( g( e, o( [. E. [ MCASP1_XBUF5_32BIT = AIC31_data.uint; 0 M2 |, P% e. }& Z/ k}# Q( W( N3 t& {3 `3 g2 e m$ L
1 r" X- y4 L; |7 UInt32 input_sample(void)2 W, _. G, x3 A) I
{ ) s$ R. H5 d5 M: o* Z4 o |8 q AIC31_data.uint = MCASP1_RBUF0_32BIT;, ?' S/ x. u3 Q c! ?, i
return (AIC31_data.uint);/ a5 b0 T$ _, O) x- v: y
}; ~$ Q0 i8 ]- y- r
3 g; V' e' i, H* X# P5 M2 A- p作者: human 时间: 2016-3-16 11:55
可以参看创龙提供的例程:AUDIO_LINE_OUT_INTR——Line Out 音频输出(中断方式)