这是MCBSP_start的源码:
CSLBool MCBSP_start(MCBSP_Handle hMcbsp, Uint16 StartMask, Uint32
SampleRateDelay) {
/* compiler should not optimize delay loop under -o3 switch */
volatile Uint32 count = SampleRateDelay;
MCBSP_ASSERT_HANDLE(hMcbsp,return FALSE);
if (StartMask & MCBSP_SRGR_START) {
MCBSP_FSETH(hMcbsp,SPCR2,GRST,1);
while (count > 0) {
--count;
}
}
if (StartMask & MCBSP_RCV_START) {
MCBSP_FSETH(hMcbsp,SPCR1,RRST,1);
}
if (StartMask & MCBSP_XMIT_START) {
MCBSP_FSETH(hMcbsp,SPCR2,XRST,1);
}
if (StartMask & MCBSP_SRGR_FRAMESYNC) {
MCBSP_FSETH(hMcbsp,SPCR2,FRST,1);
}
return TRUE;
}
#endif /* MCBSP_SUPPORT */
但是我从源码中看出来SPCR1中RRST=1及SPCR2中XRST=1,但是还是看不出SPCR2中XRDY=1,希望哪位高手给解释一下吧。
|