单片机型号STM32F030C8T6 使用接口SPI1 设计IOA4/PA5/PA6/PA7 代码如下: void SPI_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; /* 使能时钟 */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB, ENABLE); /* 复用功能配置 */ // GPIO_PinAFConfig(GPIOA, GPIO_PinSource4, GPIO_AF_0); // GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_0); // GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_0); // GPIO_PinAFConfig(GPIOA, GPIO_PinSource7, GPIO_AF_0); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //复用功能 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; //无上下拉 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); /* CS */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; //输出 // GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //推挽 GPIO_Init(GPIOA, &GPIO_InitStructure); } 实际使用时,对于引脚复用功能函数 GPIO_PinAFConfig,如果屏蔽不使用,SPI也能正常工作,请问这个函数不是必须的么? |
如果是默认值就不用单独配置是吧