飞的更高1988 发表于 2020-9-28 17:12:06

关于复用功能函数GPIO_PinAFConfig的使用疑惑

单片机型号STM32F030C8T6
使用接口SPI1
设计IO:PA4/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也能正常工作,请问这个函数不是必须的么?

乐天乐 发表于 2020-9-28 17:24:43

刚好遇到默认值就是SPI1罢了

飞的更高1988 发表于 2020-9-29 18:33:58

乐天乐 发表于 2020-9-28 17:24
刚好遇到默认值就是SPI1罢了

如果是默认值就不用单独配置是吧
页: [1]
查看完整版本: 关于复用功能函数GPIO_PinAFConfig的使用疑惑