久芯网

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

avatar 飞的更高1988 提问时间: 2023-09-19 07:45:44 / 未解决
单片机型号STM32F030C8T6
使用接口SPI1
设计IO关于复用功能函数GPIO_PinAFConfig的使用疑惑 [相关图片]A4/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的使用疑惑 [相关图片]

实际使用时,对于引脚复用功能函数
GPIO_PinAFConfig,如果屏蔽不使用,SPI也能正常工作,请问这个函数不是必须的么?

2个回答
  • avatar goyhuan
    回答时间: 2023-09-19 08:12:28

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

  • avatar 飞的更高1988
    回答时间: 2023-09-19 08:30:46
    乐天乐 发表于 2020-9-28 17:24
    刚好遇到默认值就是SPI1罢了

    如果是默认值就不用单独配置是吧

会员中心 微信客服
客服
回到顶部