Здравствуйте. Моя задача пока состоит в том, чтобы проинициализировать интерфейс I2S.
Если все сделано правильно, то должна появиться тактовая частота на коннекторе ard d13, но у меня не появляется.
Что еще следует сделать?
int main(void)
{
/* Enable the CPU Cache */
CPU_CACHE_Enable();
/* STM32F7xx HAL library initialization */
HAL_Init();
/* Configure the system clock to 216 MHz */
SystemClock_Config();
/*Configure ETH*/
//Eth_Config();
/* Our main starts here */
I2S_Config();
}
static void I2S_Config(void)
{
I2S_HandleTypeDef hi2s;
hi2s.Instance = SPI2;
hi2s.Init.AudioFreq = I2S_AUDIOFREQ_44K;
hi2s.Init.CPOL = I2S_CPOL_LOW;
hi2s.Init.ClockSource = I2S_CLOCK_SYSCLK;
hi2s.Init.DataFormat = I2S_DATAFORMAT_16B;
hi2s.Init.MCLKOutput = I2S_MCLKOUTPUT_DISABLE;
hi2s.Init.Mode = I2S_MODE_MASTER_TX;
hi2s.Init.Standard = I2S_STANDARD_PHILIPS;
HAL_I2S_MspInit(&hi2s);
HAL_I2S_Init(&hi2s);
}
void HAL_I2S_MspInit(I2S_HandleTypeDef *hi2s)
{
GPIO_InitTypeDef GPIO_InitStruct;
/*##-1- Enable peripherals and GPIO Clocks #################################*/
__HAL_RCC_SPI2_CLK_ENABLE();
__HAL_RCC_GPIOI_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
/* Enable DMA clock */
//DMAx_CLK_ENABLE();
/*##-2- Configure peripheral GPIO ##########################################*/
/* SPI SCK (I2S SCK) GPIO pin configuration */
/* SPI NSS(WS Word Select) GPIO pin configuration */
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_PULLUP;
GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF5_SPI2;
HAL_GPIO_Init(GPIOI, &GPIO_InitStruct);
/* SPI MOSI(SD Serial Data) GPIO pin configuration */
GPIO_InitStruct.Pin = GPIO_PIN_15;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
Мануал по плате
Мануал по процессору
Даташит по процессору