使用STM32L476RGT6的硬件I2C和SAI1来分别配置TAA3020的寄存器值以及读回I2S数据,寄存器的配置如代码所示。在I2S数据线上有信号以后,再读取0X76寄存器的值为0xC0,0x77寄存器的值为0xE0。现在的问题在于使用HAL_SAI_Receive_DMA(&hsai_BlockA1, (uint8_t *)RXBUF, DATABUFSIZE * 2);函数开启I2S传输,发现I2S返回的数据是杂乱无章的。此时在通道1上接了一个1.0V的电压,我想设置成通道1和通道2都是单端输入且使用标准I2S协议。
I2CWrite(0x07,0x31); HAL_Delay(2); I2CWrite(0x3A,0x80); HAL_Delay(2); I2CWrite(0x13,0x00); HAL_Delay(2); I2CWrite(0x3C,0xBC); HAL_Delay(2); I2CWrite(0x41,0xBC); HAL_Delay(2); I2CWrite(0x73,0xC0); HAL_Delay(2); I2CWrite(0x74,0xC0); HAL_Delay(2); I2CWrite(0x75,0xE0); HAL_Delay(5);