请问stm32f103的spi1换成spi2应该怎样修改程序

2019-07-14 13:57发布

程序本来使用的spi1,我想将其换成spi2,请问应该怎样修改程序,需要修改哪些地方。我刚刚接触这种片子,实在是无从下手,下面有源程序代码,请修改好后加上注释,先谢谢了
unsigned char RCC_Configuration(void){        ErrorStatus                HSEStartUpStatus;          /* RCC system reset(for debug purpose) */          RCC_DeInit();          /* Enable HSE */          RCC_HSEConfig(RCC_HSE_ON);          /* Wait till HSE is ready */          HSEStartUpStatus = RCC_WaitForHSEStartUp();          if(HSEStartUpStatus == SUCCESS)          {            /* HCLK = SYSCLK */            RCC_HCLKConfig(RCC_SYSCLK_Div1);            /* PCLK2 = HCLK */            RCC_PCLK2Config(RCC_HCLK_Div1);                RCC_PCLK1Config(RCC_HCLK_Div2);                RCC_ADCCLKConfig(RCC_PCLK2_Div4);                FLASH_SetLatency(FLASH_Latency_2);            FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);                   RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);            RCC_PLLCmd(ENABLE);            while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){};            RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);            while(RCC_GetSYSCLKSource() != 0x08){};          }        else                return FALSE;         RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C2 | RCC_APB1Periph_TIM2, ENABLE);          /* Enable GPIOA GPIOB SPI1 and USART1 clocks */          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB                                        | RCC_APB2Periph_GPIOC |RCC_APB2Periph_GPIOF| RCC_APB2Periph_USART1                                        | RCC_APB2Periph_SPI1 | RCC_APB2Periph_ADC1                                        | RCC_APB2Periph_AFIO, ENABLE);        return TRUE;}void SPI_Configuration(void){        GPIO_InitTypeDef                 GPIO_InitStructure;        SPI_InitTypeDef           SPI_InitStructure;          /* Configure SPI1 pins: SCK, MISO and MOSI -------------*/          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;          GPIO_Init(GPIOA, &GPIO_InitStructure);                /* Set Chip Select pin */        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3| GPIO_Pin_4;        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;        GPIO_Init(GPIOA, &GPIO_InitStructure);        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;        GPIO_Init(GPIOA, &GPIO_InitStructure);        GPIO_SetBits(GPIOA, GPIO_Pin_3);         GPIO_SetBits(GPIOA, GPIO_Pin_1);         GPIO_SetBits(GPIOA, GPIO_Pin_4);        /* Set SPI interface */        SPI_InitStructure.SPI_Direction=SPI_Direction_2Lines_FullDuplex;        SPI_InitStructure.SPI_Mode=SPI_Mode_Master;        SPI_InitStructure.SPI_DataSize=SPI_DataSize_8b;        SPI_InitStructure.SPI_CPOL=SPI_CPOL_Low;        SPI_InitStructure.SPI_CPHA=SPI_CPHA_1Edge;        SPI_InitStructure.SPI_NSS=SPI_NSS_Soft;        SPI_InitStructure.SPI_BaudRatePrescaler=SPI_BaudRatePrescaler_8;        SPI_InitStructure.SPI_FirstBit=SPI_FirstBit_MSB;        SPI_InitStructure.SPI_CRCPolynomial=7;        SPI_Init(SPI1,&SPI_InitStructure);        SPI_Cmd(SPI1,ENABLE);                                        //Enable  SPI1}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。