嵌入式开发者社区
标题:
Line_in_wave例程中左右声道分离的问题
[打印本页]
作者:
bigrao
时间:
2017-3-24 09:16
标题:
Line_in_wave例程中左右声道分离的问题
在前一个帖子中有问过类似的问题,就是发现Line_in例程和Line_in_wave例程中参数设置大致相同,但是是关键的宏定义AUDIO_BUF_SIZE LINE_in 例程中定义的是(NUM_SAMPLES_PER_AUDIO_BUF* BYTES_PER_SAMPLE * I2S_SLOTS),而Line_in_wave例程中定义的是(NUM_SAMPLES_PER_AUDIO_BUF * BYTES_PER_SAMPLE)。
个人认为AUDIO_BUF_SIZE设置成NUM_SAMPLES_PER_AUDIO_BUF * BYTES_PER_SAMPLE更合理,这样DMA在A类传输的时候ACNT设置为BYTES_PER_SAMPLE,BCNT设置为NUM_SAMPLES_PER_AUDIO_BUF ,正好传输完一帧的数据。左右声道分离时将数据交替存到right_buffer和
left_buffer里,正好是2倍的关系。
所以还是之前的问题,我总感觉LINE_IN例程中的宏定义AUDIO_BUF_SIZE 有问题,是不是去掉I2S_SLOTS更合理。
作者:
bigrao
时间:
2017-3-25 20:00
没有人回,自己顶起来,帖子不要沉呐,要让创龙的工程师看见我的问题
作者:
Lewis
时间:
2017-3-27 14:49
都可以实现同样的功能,这个问题没必要纠结,条条大道通罗马
欢迎光临 嵌入式开发者社区 (https://www.51ele.net/)
Powered by Discuz! X3.4