5. HAL_GPIO_WritePort():设置GPIO端口的状态,参数为端口上所有引脚状态的位域。 6. HAL_GPIO_LockPin():锁定GPIO引脚,避免误操作。 使用这些函数可以方便地对GPIO进行操作,从而实现各种功能。在实际开发中,需要根据具体的需求选择不同的GPIO操作函数。©...
/* 初始化(STM32CubeMX自动调用)*/ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) /* 重置*/ void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) /* 读引脚状态 */ GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin) /* 写引脚状...
__STATIC_INLINE uint32_t LL_GPIO_IsInputPinSet(GPIO_TypeDef *GPIOx, uint32_t PinMask) __STATIC_INLINE void LL_GPIO_WriteOutputPort(GPIO_TypeDef *GPIOx, uint32_t PortValue) __STATIC_INLINE uint32_t LL_GPIO_ReadOutputPort(GPIO_TypeDef *GPIOx) __STATIC_INLINE uint32_t LL_GPIO_IsOutp...
在这里WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK)))他要写寄存器REG 他写什么呢,首先把寄存器的值读出来,& (~(CLEARMASK))清除掉某些位| (SETMASK)设置某些位,这样就达到了修改寄存器且不破坏其他位 在这里:configregister = (iocurrent < GPIO_PIN_8) ? &GPIOx->CRL...
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); 功能:设置端口管脚输出电平,很少使用。 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 功能:读取端口中的某个管脚输入电平。底层是通过读取IDR寄存器。 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); ...
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal); 功能:设置端口管脚输出电平,很少使用。 uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 功能:读取端口中的某个管脚输入电平。底层是通过读取IDR寄存器。 uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx); ...