这里就不得不提到单片机的复用功能AF(Alternate Function),这篇文章我们说一说复用功能。 STM32Fxx系列单片机的GPIO可以配置为浮空输入(input floating)、上拉输入(input pull-up)、下拉输入(input pull-down)、模拟输入(analog)、开漏输出(output open-drain)、推挽输出(ouput push-pull)、复用开漏输出(alternate fu...
成员变量 Speed 的取值范围: 成员变量 Alternate 的取值范围 Alternate 表示引脚的复用功能; 由于不同型号的 STM32 微控制器片内集成的外设不同,因此该成员变量的取值范围由芯片型号决定。 以STM32F1 系列芯片为例,通过查阅stm32f1xx_hal_gpio_ex.h文件可以了解 Alternate 的取值范围; 该成员变量的取值一般通过 C...
8. 复用功能模式 + 上拉/下拉模式(Alternate function mode + pull-up/pull-down): GPIO端口可以同时配置为复用功能模式和上拉/下拉模式,用于特殊功能的引脚,并提供默认的高或低电平。此模式的常见应用场景与复用功能模式和上下拉模式分别相同。 以上就是STM32 GPIO端口的八种工作模式。通过灵活配置不同的工作模式...
Alternate Function 是指STM32引脚的主要复用功能,通常通过配置特定的AFx(Alternate Function x)寄存器来...
STM32Fxx系列单片机的GPIO引脚可以配置为浮空输入(Input Floating)、上拉输入(Input Pull-up)、下拉输入(Input Pull-down)、模拟量(Analog)、开漏输出(Output Open-drain)、推挽输出(Output Push-pull)、复用开漏(Alternate function open-drain)输出和复用推挽(Alternate function push-pull)输出等八种模式。
stm32的引脚有两种用途:GPIO(general purpose io)和AFIO(alternate function io) 对于一些引脚(视芯片而定),这两种用途都没有,如在64脚产品中,OSC_IN/OSC_OUT与作为GPIO端口的PD0/PD1共用一样的引脚,而在100、144引脚产品中,这四个功能各有引脚与之对应,不互相冲突,所以OSC_IN/OSC_OUT既不作GPIO也不作AFIO...
AFIO(Alternate Function I/O):是一种外设复用功能,可以将单个GPIO端口的复用功能分配给多个外设,例如复用其他串行通信接口或IO端口。在外部中断中,为了允许对每个I/O引脚选择不同的中断线,需要使用AFIO来配置GPIO端口的复用功能,从而定义中断线的连接。
支持高级功能:对于某些高级功能,如复用功能(GPIO复用为其他外设功能)、中断功能等,可能还需要额外使能AFIO(Alternate Function Input Output)的时钟。这是因为这些功能涉及到更复杂的内部信号路由和管理。 实际上,在这里面还涉及到一个时钟门控技术,而这又涉及到同步电路,我们都知道(默认你们都知道)在同步电路中总是有...
GPIO_Mode_AF = 0x02, /*!< GPIO Alternate function Mode */ GPIO_Mode_AN = 0x03 /*!< GPIO Analog Mode */ }GPIOMode_TypeDef; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; //gpio模式设置为复用模式 >引脚设置成推挽: typedef enum
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);*/ } } 初始化SPI外设 #defineSPI_CS1 GPIO_PIN_1 #defineSPI_CS1_PORT GPIOC #defineSPI_CS2 GPIO_PIN_2 #defineSPI_CS2_PORT GPIOC #defineSPI_CS3 GPIO_PIN_...