voidMX_GPIO_Init(void){ GPIO_InitTypeDef GPIO_InitStruct = {0};/* GPIO Ports Clock Enable */__HAL_RCC_GPIOC_CLK_ENABLE();//使能GPIOC时钟__HAL_RCC_GPIOD_CLK_ENABLE();//使能GPIOD时钟__HAL_RCC_GPIOA_CLK_ENABLE();//使能GPIOA时钟/*Configure GPIO pin Output Level */HAL_GPIO_WriteP...
/* Configure the GPIO ports */ GPIO_Configuration(); /* Infinite loop */ while(1) { if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9)==0)//检测USR键是否被按下,若按下,则点亮全部LED { GPIO_SetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9); } else { GPIO_ResetBits(GPIOC,...
/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET); /*Configure GPIO pin : PtPin */GPIO_InitStruct.Pin = LED4_Pin;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPI...
STM32 的GPIO共有8种工作模式,分别是GPIO_Mode_AIN(模拟输入)、GPIO_Mode_IN_FLOATING(输入浮空)、GPIO_Mode_IPD(输入下拉)、GPIO_Mode_IPU(输入上拉)、GPIO_Mode_Out_OD(开漏输出)、GPIO_Mode_Out_PP(推挽输出)、GPIO_Mode_AF_OD(开漏复用功能)、GPIO_Mode_AF_PP(推挽复用功能)。
这种配置GPIO口为特定外设功能引脚的操作就叫做复用。 F407xx每个 IO 引脚都有一个复用器,且采用 16 路复用功能输入,可通过相应AF寄存器进行配置。 1. 完成复位后,所有 IO 都会连接到系统的复用功能 0 (AF0); 2. 外设的复用功能映射到 AF1 至 AF13,AF14保留; 3. AF15是Cortex™-M4F EVENTOUT...
配置系统时钟树,将工程界面切换到Clock Configureation 界面,完成如下配置。 配置代码生成,工程界面切换到Project Manager 界面,在界面左侧单击Project项,将其设置成如下图所示( 设置工程路径在E:Stm32cubePrj目录,工程名为stm32_gpio, 开发环境为 MDK-ARMv5 )。
对于一些引脚(视芯片而定),这两种用途都没有,如在64脚产品中,OSC_IN/OSC_OUT与作为GPIO端口的PD0/PD1共用一样的引脚,而在100、144引脚产品中,这四个功能各有引脚与之对应,不互相冲突,所以OSC_IN/OSC_OUT既不作GPIO也不作AFIO,当然,这样的引脚不是讨论重点。
一、 GPIO寄存器(端口控制 数据输入输出 置位/复位 锁定 复用) I/O 端口控制寄存器 GPIO 有 4 个 32 位存储器映射的控制寄存器(GPIOx_MODER、GPIOx_OTYPER、 GPIOx_OSPEEDR、GPIOx_PUPDR),可配置多达 16 个 I/O。 GPIOx_MODER寄存器用于 选择 I/O 方向(输入、输出、AF、模拟)。
从STM32开始的RoboMaster生活:进阶篇 I [GPIO] 0.0 一点点声明 本文以及以后的所有属于RoboMaster主题STM32系列的文章,均以RoboMaster开发板A型为说明和测试目标,其芯片代号为STM32F427IIHx,如果您的芯片代号不同,则不能直接使用本教程代码和引脚配置,请酌情修改!