Cómo configurar SPI para STM32F405
{
GPIO_InitTypeDef GPIO_InitStructure
SPI_InitTypeDef SPI_InitStructure
RCC_ AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); p> p>
RCC_APB1PeriphResetCmd(RCC_APB1Periph_SPI3, ENABLE);
GPIO_ InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.
GPIO_Init(GPIOB, & GPIO_InitStructure);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, GPIO_AF_SPI3);
GPIO_PinAFConfig(GPIOB, GPIO_PinSource4, GPIO_AF_SPI3); >
GPIO_PINAFCONFIG (GPIOB, GPIO_PINSOURCE5, GPIO_AF_SPI3);
RCC_ APB1PERIPHRESETCMD (RCC_APB1PERIPI_SPI3, HABILITAR);
RCC_APBBBBBBBB 1 Periphresetcmd (RCC_APB1 PERIPH_SPI3, Deshabilitar); p) > SPI_InitStructure .SPI_Direction = SPI_Direction_2Lines_FullDuplex;
SPI_InitStructure.SPI_Mode = SPI_Mode_Master
SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64; SPI_Primer bit = SPI_PrimerBit_MSB <; /p>
SPI_InitStructure.SPI_CRCPolynomial = 7;
SPI_Init(SPI3, amp;SPI_ InitStructure
SPI_Cmd(SPI3, ENABLE
); } p>
El código se modifica según el programa SPI de Atom. No hay ningún problema al usar SPI1, pero no funciona cuando se cambia a SPI3.