к1986ве92fi_SPI_часть1
void SPI1_Init(void) { PORT_InitTypeDef port; RST_CLK_PCLKcmd(RST_CLK_PCLK_PORTF, ENABLE); PORT_StructInit(&port); port.PORT_Pin = PORT_Pin_0 | PORT_Pin_1 | PORT_Pin_3; port.PORT_OE = PORT_OE_OUT; port.PORT_MODE = PORT_MODE_DIGITAL; port.PORT_SPEED = PORT_SPEED_FAST; port.PORT_FUNC = PORT_FUNC_ALTER; PORT_Init(MDR_PORTF, &port); // Настройка CS (NSS) как обычный GPIO PORT_StructInit(&port); port.PORT_Pin = PORT_Pin_2; // PF2 - CS port.PORT_OE = PORT_OE_OUT; port.PORT_MODE = PORT_MODE_DIGITAL; port.PORT_SPEED = PORT_SPEED_FAST; port.PORT_FUNC = PORT_FUNC_PORT; PORT_Init(MDR_PORTF, &port); SSP_InitTypeDef ssp; RST_CLK_PCLKcmd(RST_CLK_PCLK_SSP1, ENABLE); SSP_BRGInit(MDR_SSP1, SSP_HCLKdiv1); SSP_StructInit(&ssp); ssp.SSP_Mode = SSP_ModeMaster; ssp.SSP_WordLength = SSP_WordLength8b; ssp.SSP_SPO = SSP_SPO_Low; ssp.SSP_SPH = SSP_SPH_1Edge; ssp.SSP_FRF = SSP_FRF_SPI_Motorola; ssp.SSP_CPSDVSR = 2; ssp.SSP_SCR = 0; ssp.SSP_HardwareFlowControl = SSP_HardwareFlowControl_None; SSP_Init(MDR_SSP1, &ssp); SSP_Cmd(MDR_SSP1, ENABLE); }
void SPI1_Init(void) { PORT_InitTypeDef port; RST_CLK_PCLKcmd(RST_CLK_PCLK_PORTF, ENABLE); PORT_StructInit(&port); port.PORT_Pin = PORT_Pin_0 | PORT_Pin_1 | PORT_Pin_3; port.PORT_OE = PORT_OE_OUT; port.PORT_MODE = PORT_MODE_DIGITAL; port.PORT_SPEED = PORT_SPEED_FAST; port.PORT_FUNC = PORT_FUNC_ALTER; PORT_Init(MDR_PORTF, &port); // Настройка CS (NSS) как обычный GPIO PORT_StructInit(&port); port.PORT_Pin = PORT_Pin_2; // PF2 - CS port.PORT_OE = PORT_OE_OUT; port.PORT_MODE = PORT_MODE_DIGITAL; port.PORT_SPEED = PORT_SPEED_FAST; port.PORT_FUNC = PORT_FUNC_PORT; PORT_Init(MDR_PORTF, &port); SSP_InitTypeDef ssp; RST_CLK_PCLKcmd(RST_CLK_PCLK_SSP1, ENABLE); SSP_BRGInit(MDR_SSP1, SSP_HCLKdiv1); SSP_StructInit(&ssp); ssp.SSP_Mode = SSP_ModeMaster; ssp.SSP_WordLength = SSP_WordLength8b; ssp.SSP_SPO = SSP_SPO_Low; ssp.SSP_SPH = SSP_SPH_1Edge; ssp.SSP_FRF = SSP_FRF_SPI_Motorola; ssp.SSP_CPSDVSR = 2; ssp.SSP_SCR = 0; ssp.SSP_HardwareFlowControl = SSP_HardwareFlowControl_None; SSP_Init(MDR_SSP1, &ssp); SSP_Cmd(MDR_SSP1, ENABLE); }