我可以在头文件(stm32)中定义 GPIO 引脚吗

Can i define GPIO Pin in header file (stm32)

我想对几个引脚使用HAL 库的读取功能。我可以在头文件中定义引脚,如#define signalx GPIO_Pin_PA5 ?

当然可以。

但是,你是用STM32CubeMX生成工程的吗?如果是这样,您可以在工具中标记您喜欢的任何引脚。只需右键单击图钉并 select“输入用户标签”。

然后输入愿望名称:

然后当您生成项目时,main.h 将包含所有命名引脚的#defines。这是它的样子:

/* Private defines -----------------------------------------------------------*/
#define LED0_GREEN_Pin GPIO_PIN_6
#define LED0_GREEN_GPIO_Port GPIOI
#define LED0_RED_Pin GPIO_PIN_5
#define LED0_RED_GPIO_Port GPIOI
#define DBG_UART_TX_Pin GPIO_PIN_1
#define DBG_UART_TX_GPIO_Port GPIOE
#define DBG_UART_RX_Pin GPIO_PIN_0
#define DBG_UART_RX_GPIO_Port GPIOE
#define PWR_HOLD_Pin GPIO_PIN_13
#define PWR_HOLD_GPIO_Port GPIOG
#define ANALOG_ON_Pin GPIO_PIN_12
#define ANALOG_ON_GPIO_Port GPIOG
#define LED0_BLUE_Pin GPIO_PIN_7
#define LED0_BLUE_GPIO_Port GPIOI
#define I2C_IO_SDA_Pin GPIO_PIN_7
#define I2C_IO_SDA_GPIO_Port GPIOB

如果您不使用 STM32CubeMX,您当然可以使用#defines 为大家创建自己的头文件port/pins。