| 本帖最后由 hoop 于 2021-3-24 19:18 编辑 
 使用这个路径demo:BSP\AT32F4xx_StdPeriph_Lib_V1.x.x\Project\AT_START_F403A\Examples\I2S\I2S_FullDuplex\MDK_v5
 在void GPIO_Configuration(void)函数内添加如下某一项
 if(1)///<select PC6 as MCLK pin
 {
 RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOC, ENABLE);
 GPIO_InitStructure.GPIO_Pins = GPIO_Pins_6;
 GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_10MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_Init(GPIOC, &GPIO_InitStructure);
 }
 if(1)///<select PA3 as MCLK pin
 {
 RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);
 GPIO_PinsRemapConfig(AFIO_MAP5_SPI2_0001, ENABLE);
 GPIO_InitStructure.GPIO_Pins = GPIO_Pins_3;
 GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_10MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_Init(GPIOA, &GPIO_InitStructure);
 }
 if(1)///<select PA6 as MCLK pin
 {
 RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA, ENABLE);
 GPIO_PinsRemapConfig(AFIO_MAP5_SPI2_0010, ENABLE);
 GPIO_InitStructure.GPIO_Pins = GPIO_Pins_6;
 GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_10MHz;
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
 GPIO_Init(GPIOA, &GPIO_InitStructure);
 }
 同时再将原I2S_InitStructure.I2S_MCLKOE = I2S_MCLKOE_DISABLE;的参数I2S_MCLKOE_DISABLE修改为I2S_MCLKOE_ENABLE
 此时就可以实现I2S2的MCLK输出了。代码中I2S3相关内容,如果你不用的话,直接删除即可
 |