端口配置高寄存器(GPIOx_CRH) 端口输入数据寄存器(GPIOx_IDR) 端口输出数据寄存器(GPIOx_ODR) 5. GPIO 输出编程 测试有GPIOA1和GPIOA2设置为输出测试 CubeMX 配置 初始化函数 初始化函数 宏定义 #define DONG_OUT_1_Pin GPIO_PIN_1 #define DONG_OUT_1_GPIO_Port GPIOA #define DONG_OUT_2_Pin GPIO_P...
typedef enum{GPIO_PIN_RESET=0u,GPIO_PIN_SET}GPIO_PinState;#define GPIO_PIN_0((uint16_t)0x0001)/* Pin 0 selected */#define GPIO_PIN_1((uint16_t)0x0002)/* Pin 1 selected */#define GPIO_PIN_2((uint16_t)0x0004)/* Pin 2 selected */#define GPIO_PIN_3((uint16_t)0x0008)/*...
GPIOx :其中x可以(A..G取决于所使用的设备)来选择GPIO外设 GPIO_Pin :指定要写入的端口位。此参数可以是GPIO_PIN_x之一,其中x可以是( 0..15 )。 PinState :指定要写入选定位的值。此参数可以是GPIO_PinState枚举值之一: lGPIO_PIN_RESET:清除端口Pin,低电平 lGPIO_PIN_SET:设置端口Pin,高电平 例子: ...
voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin,GPIO_PinState PinState){/* Check the parameters */assert_param(IS_GPIO_PIN(GPIO_Pin));assert_param(IS_GPIO_PIN_ACTION(PinState));if(PinState!=GPIO_PIN_RESET){GPIOx->BSRR=GPIO_Pin;}else{GPIOx->BSRR=(uint32_t)GPIO_Pin<<...
读取 GPIO 输入:c 复制代码 // 读取 GPIOA 引脚 5 的输入状态 GPIO_PinState pinState = HAL_...
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef*GPIOx, uint16_t GPIO_Pin){GPIO_PinState bitstatus;/* Check theparameters */assert_param(IS_GPIO_PIN(GPIO_Pin));if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET){bitstatus = GPIO_PIN_SET;}else{bitstatus = GPIO_PIN_RESET;}...
uint8_t inputState =HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_0); // 读取引脚状态 ``` 在以上代码示例中,首先使用 `__HAL_RCC_GPIOA_CLK_ENABLE()` 函数启用GPIOA引脚的时钟。然后,通过配置 `GPIO_InitStruct` 结构体中的引脚、模式和上下拉等参数,将GPIO引脚配置为输入模式,上拉。最后,使用 `HAL_GPIO_...
static void MX_GPIO_Init(void); int main(void) { // HAL库初始化 HAL_Init(); // 配置系统时钟 SystemClock_Config(); // 初始化GPIO MX_GPIO_Init(); while (1) { // 点亮LED(PA5) HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); ...
voidHAL_GPIO_WritePin(GPIO_TypeDef *GPIOx,uint16_tGPIO_Pin, GPIO_PinState PinState) 这是函数的定义,接受三个参数:GPIOx 是指向 GPIO 端口的指针,GPIO_Pin 是要设置的 GPIO 引脚,PinState 是要设置的输出电平。 /* Check the parameters */asser...
GPIO_InitStruct.Alternate = GPIO_AF7_USART3; HAL_GPIO_Init(GPIOD,&GPIO_InitStruct); /*Configure GPIO pins : Relay_Ctrl_Pin USB_PowerSwitchOn_Pin */ GPIO_InitStruct.Pin = Relay_Ctrl_Pin|USB_PowerSwitchOn_Pin; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; ...