您好,
我正在开发一个系统来对输入信号进行实时音频处理。 我使用的是MSP432启动板(显然)以及音频信号处理BoosterPack (BOOSTXL-音频)。
在初始测试中,我使用按钮完成了一个简单的录音回放系统,在录音时观察到了合理的质量,但回放质量很差。 对于播放,我使用SPI协议,编程如下
/*初始化eUSI_B设置以写入DAC */
void Audio_DAC_Setup(void){/*
REST eUSI_B */
EUSCI_B0->CTLW0 |= EUSCI_B_CTLW0_SWRST;
/* SET eUSSCI_B寄存器*/
EUSCI_B0->CTLW0 =
EUSCI_B_CTLW0_SWRST |// 保持静止(冗余)
EUSCI_B_CTLW0_SPI|// 主模式
EUSCI_B_CTLW0_SYNC 0_SCI_SCI_SCI_LWLWLWLWLWLW_MODE_0_0
~SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCI_SCF_0和EUB0 SCI_SCI_SCI_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCB0 / EB0 EB0,EB0,EBUF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCF_SCB0,EB0 1
/*将值写入DAC */
void Audio_Write_DAC (uint16_t data){/*
引入同步引脚以启用DAC8311 */
SYNC_PORT->OUT ==~SYNC_PIN;
/*裁剪DAC8311的两位数据处于“正常模式”*/
数据&=~0xC000;
/*等待就绪*/IFG_SCIF0;
E_B-!
/*将MSB写入传输寄存器*/
EUSCI_B0->TXBUF =(uint8_t)(data >>8);
/*等待传输完成*/
while (!(EUSSCI_B0->IFG & EUSCI_B_IFG_TXIFG));
/*将LSB写入传输寄存器*/ EUTSCI_B0-
完成传输(ESI_STW_STW)= ATW_8
/*通过DAC8311使同步引脚高到结束SPI */
SYNC_PORT->OUT |= SYNC_PIN;
}
第一个函数在主例程中被调用一次,第二个函数在ISR中被用作计时器。 我处理这个问题的方式是否有明显的问题?
谢谢你

