你好,我用C6748的McASP跟音频芯片AIC3106通讯,正常情况下DMA传输的数据应该是一个左通道LINE IN的数据一个右通道的数据,间隔采集回来的,但是由于我中途要修改音频的采样率,重新配置后,发现数据变成了一个右通道数据和一个左通道数据,就是左右数据位置在buf里就反了,我猜想是因为重新初始化音频芯片的时候DMA还一直在执行buf传输到某个位置,重新初始化音频后buf数据从上一次更新的位置开始填,所以出现左右通道数据调换了。问题是:我怎么可以判断出buf里哪个是左通道的数据?或者有什么办法可以避免这种情况?感谢!
Tony Tang:
重配时,复位一下McASP
user6157972:
回复 Tony Tang:
复位McASP也不行,我觉得是DMA没有重新开始的原因,但是事实上我是DMA也重新初始化了呢