GPIO_Pin:指定要配置的引脚号。例如,GPIO_Pin_13表示第13号引脚。GPIO_Speed:设置引脚的输出速度。
< Pin 12 selected */ #define GPIO_Pin_13 ((uint16_t)0x2000) /*!< Pin 13 selected */ #define GPIO_Pin_14 ((uint16_t)0x4000) /*!< Pin 14 selected */ #define GPIO_Pin_15 ((uint16_t)0x8000) /*!< Pin 15 selected */ #define GPIO_Pin_All ((uint16_t)0xFFFF) /*!< ...
GPIOx:其中x可以是(A..H),用于选择STM32L4系列的GPIO外设 GPIO_Pin:指定要写入的端口位;此参数可以是GPIO_Pin_x的任意组合,其中x可以是(0..15)。 PinState:指定要写入的值 *此参数可以是GPIO_PinState枚举值之一: * GPIO_PIN_RESET:清0 * GPIO_PIN_SET:置1 ***/ 例如:HAL_GPIO_WritePin(LED1_GPI...
(3) 向 GPIO 初始化结构体赋值,把引脚初始化成浮空输入模式,其中的 GPIO_Pin 使用宏“KEYx_PIN”来赋值,使函数的实现方便移植。由于引脚的默认电平受按键电路影响,所以设置成“浮空/上拉/下拉”模式均没有区别。 (4) 使用以上初始化结构体的配置,调用 GPIO_Init 函数向寄存器写入参数,完成 GPIO 的初始化,这里...
PC13:板载LED针脚位置,GPIOC区,13位置 HAL 库高低点平相关API GPIO_PinState: typedef enum{ GPIO_PIN_RESET = 0u,//低电平 GPIO_PIN_SET//高电平 } GPIO_PinState; 读取指定针脚高低点平: GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) ...
GPIO_Pin:指定需要输出的IO引脚,可以通过位或运算符(|)来同时选择多个引脚。例如,若要使GPIOA的12和13号引脚输出高电平,可以调用以下函数:GPIO_SetBits(GPIOA, GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13);读取输入电平函数 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)...
#define KEY2_GPIO_PIN GPIO_Pin_13 #define KEY2_GPIO_PORT GPIOC #define KEY2_GPIO_CLK RCC_APB2Periph_GPIOC // 按键状态宏 #define KEY_ON 1 #define KEY_OFF 0 void KEY_GPIO_Config(void); uint8_t key_scan(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin); ...
开启外设时钟之后,然后就开始对GPIO的配置寄存器进行设置了。具体设置方式参考《基于MDK的STM32处理器开发应用》一书中,“7.1 通用IO端口”。While循环里面就是给GPIO的端口输出寄存器赋值,由于我手上这款开发板三个LED灯分别接的是PG13、PG14和PG15,所以只要将G端口相应的位上置1就可以了。
#define KEY3 GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13)//读取按键 voidLED_Init(void) { GPIO_InitTypeDefGPIO_InitStr; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC,ENABLE);// GPIO_InitStr.GPIO_Mode=GPIO_Mode_Out_PP;//推挽 ...
GPIO_Pin_2 //定义K_LEFT管脚#define KEY_DOWN_Pin GPIO_Pin_3 //定义K_DOWN管脚#define KEY_RIGHT_Pin GPIO_Pin_4 //定义K_RIGHT管脚#define KEY_UP_Pin GPIO_Pin_0 //定义KEY_UP管脚#define KEY_Port (GPIOE) //定义其他按键端口#define KEY_UP_Port (GPIOA) //定义KEY_UP...