This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
完全使用官方C:\ti\C6748_StarterWare_1_20_04_01 里的demo程序初始化McASP时
void main(){
...
/* Configure the McASP for I2S */
McASPI2SConfigure();
/* Activate the audio transmission and reception */
I2SDataTxRxActivate(); //执行到此处停止!
}
跟踪进入
/* Activate the serializers */
void McASPRxSerActivate(unsigned int baseAddr)
{
HWREG(baseAddr + MCASP_RSTAT) = 0xFFFF;
/* Release transmit serializers from reset*/
HWREG(baseAddr + MCASP_GBLCTL) |= MCASP_GBLCTL_RSRCLR;
while((HWREG(baseAddr + MCASP_GBLCTL) & MCASP_GBLCTL_RSRCLR)
!= MCASP_GBLCTL_RSRCLR) ;
}
在while这死循环了?查看寄存器 在执行 HWREG(baseAddr + MCASP_GBLCTL) |= MCASP_GBLCTL_RSRCLR; 后 GBLCTL 没变化,但XGBLCTL和RGBLCTL置位了。
之后我把main()里其他的全部注释掉,只初始化McASP也是如此。