Red de conocimiento informático - Problemas con los teléfonos móviles - Cómo configurar SPI para STM32F405

Cómo configurar SPI para STM32F405

void SPI3_Init(void)

{

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

); }

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.