大家好、我有一个问题:
我正在使用 C5515 eZdsp、我将使用乒乓缓冲器从编解码器获取信号、如音频滤波器演示中所示。
我在单声道模式下配置了编解码器、因此信号仅来自左声道。
我修改了音频滤波器演示代码(以下是我使用 DSPLib fir 函数的代码片段:
while (1) { IF (CurrentRxL_DMAChannel ==2) { buff 复制(&RcvL1[0]、&Buffer[0]、Xmit_buff 大小); FIR ((data*)&Buffer[0]、&filter_coeffs[0]、(data*)&Buffer[0]、&dbuffer[0]、Xmit_buff_size、67); buff 复制(&Buffer[0]、&FilterOutL1[0]、Xmit_buff 大小); } 其他 { buff 复制(&RcvL2[0]、&Buffer[0]、Xmit_buff 大小); FIR ((data*)&Buffer[0]、&filter_coeffs[0]、(data*)&Buffer[0]、&dbuffer[0]、Xmit_buff_size、67); buff 复制(&Buffer[0]、&FilterOutL2[0]、Xmit_buff 大小); } }
问题是什么:每次我切换 DMA 通道时、示波器中的信号都会出现干扰。
那么、我该怎么做呢?
我还从 DMA 中断使能中禁用了正确的通道:
void enable_dma_int (void) { //中断顺序:TXL -> TxR -> RxL -> RXR //仅启用 TxR (通道1)和 RXR (通道3)。 //DMA_MSK = 0x00F0; //启用 DMA1、通道3和通道1中断 DMA_MSK = 0x0005; //启用 DMA 中断 DMA_IFR = 0xFFFF; //清除中断标志 }
有什么想法吗?
提前非常感谢、我们非常感谢您的每一项建议
此致、
Paolo