TI中文支持网
TI专业的中文技术问题搜集分享网站

C6748 McASP初始化问题

完全使用官方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也是如此。

Tony Tang:

这没什么道理吧:XGBLCTL和RGBLCTL置位了,而GBLCTL 没变化,他们反映的是同一个bit的状态啊。这些程序都是被人参考过千百回的了,你是在自己的板子上,还是EVM板上跑的?程序前面有没有PSC使能mcasp的步骤?

在memory view里看mcasp的寄存器都有值吗?还是全0?

user5324036:

问题解决了吗

赞(0)
未经允许不得转载:TI中文支持网 » C6748 McASP初始化问题
分享到: 更多 (0)