初始化
void AudioI2sOutParamsSet(void)
{
I2SParamCt i2s_set;
i2s_set.IsMasterMode=CFG_RES_I2S_MODE;// 0:master 1:slave
i2s_set.SampleRate=mainAppCt.SampleRate;
i2s_set.I2sFormat=I2S_FORMAT_I2S;
i2s_set.I2sBits=I2S_LENGTH_16BITS;
i2s_set.I2sTxRxEnable=1;
#if (CFG_RES_I2S_PORT == 0)
i2s_set.TxPeripheralID=PERIPHERAL_ID_I2S0_TX;
#else
i2s_set.TxPeripheralID=PERIPHERAL_ID_I2S1_TX;
#endif
i2s_set.TxBuf=(void*)mainAppCt.I2SFIFO;
i2s_set.TxLen=mainAppCt.SamplesPreFrame * 2 * 2 * 2;
#if (CFG_RES_I2S_IO_PORT==0)
//i2s0 group_gpio0
GPIO_PortAModeSet(GPIOA0, 9);// mclk out
GPIO_PortAModeSet(GPIOA1, 6);// lrclk
GPIO_PortAModeSet(GPIOA2, 5);// bclk
GPIO_PortAModeSet(GPIOA3, 7);// dout
GPIO_PortAModeSet(GPIOA4, 1);// din
//i2s0 group_gpio0
#else //lif (CFG_RES_I2S_IO_PORT==1)
//i2s1 group_gpio1
GPIO_PortAModeSet(GPIOA0, 3);//mclk in
//GPIO_PortAModeSet(GPIOA7, 3);//mclk in
GPIO_PortAModeSet(GPIOA8, 1);//lrclk
GPIO_PortAModeSet(GPIOA9, 2);//bclk
GP

该代码段展示了如何初始化I2S音频输出参数,包括设置为主从模式、采样率、数据格式和GPIO端口配置。针对不同配置,它选择不同的I2S模块(I2S0或I2S1)并调整时钟源。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



