aic3106test程序
时间:10-02
整理:3721RD
点击:
最近在做音频的项目,参考evmc6747中aic3106test例程,有个问题没弄明白,例程中这里
for ( sec = 0 ; sec < 5 ; sec++ )
{
for ( msec = 0 ; msec < 1000 ; msec++ )
{
for ( sample = 0 ; sample < 48 ; sample++ )
{
/* Send a sample to the left channel */
while ( ! ( MCASP1_SRCTL5 & 0x10 ) );
MCASP1_XBUF5_32BIT = (sinetable[sample] << 15) | 0x00000000;
/* Send a sample to the right channel */
while ( ! ( MCASP1_SRCTL5 & 0x10 ) );
MCASP1_XBUF5_32BIT = (sinetable[sample] << 15) | 0x00000000;
}
}
}
因为McASP和芯片都设置成I2S方式,那么每采样放出的帧信号不就应该是左右两个slot了吗?这里为什么要写两次呢?
还有就是我觉得例程中给的正弦波数组应该是Q15格式的吧?这里的<<15|0x00000000是干嘛用的呢?结果是Q31数据?请大家多指教!谢谢!
Hi,
这个可能跟McASP接口的操作相关吧,建议你到DSP板块发帖问问。
写两次的原因是为了写双声道吧。那个注释上这么解释的。
栏目分类
射频专业培训教程推荐