gpio_pinstate指通用输入输出引脚状态的一种定义 它用于描述GPIO引脚当前所处的工作状态情况其可分为高电平状态和低电平状态两类高电平状态意味着引脚具有较高的电压值低电平状态则代表引脚处于较低的电压水准通常用数字值来直观表示这两种状态比如用“1”来表示高电平状态用“0”则表示低电平状态这种定义方便程序对GPI...
if(PinState!=GPIO_PIN_RESET){GPIOx->BSRR=GPIO_Pin;}else{GPIOx->BSRR=(uint32_t)GPIO_Pin<<16u;} 我们会发现我们还不知道两个关键的参数GPIO_Pin、GPIO_PIN_RESET下面我们来看他们的定义: typedef enum{GPIO_PIN_RESET=0u,GPIO_PIN_SET}GPIO_PinState;#define GPIO_PIN_0((uint16_t)0x0001)/*...
上图中,pinctrl-names里定义了2种状态:default、sleep。 第0种状态用到的引脚在pinctrl-0中定义,它是state_0_node_a,位于pincontroller节点中。 第1种状态用到的引脚在pinctrl-1中定义,它是state_1_node_a,位于pincontroller节点中。 当这个设备处于default状态时,pinctrl子系统会自动根据上述信息把所用引脚复用...
GPIO_PIN_RESET = 0u, //读取失败 GPIO_PIN_SET // 成功读取 } GPIO_PinState; 写引脚电平 HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); GPIOx为要读取的IO口组号 GPIO_PIN为引脚号 PinState是枚举类型 typedef enum { GPIO_PIN_RESET = 0u, //低电平 ...
GPIO_PIN_RESET = 0u, GPIO_PIN_SET }GPIO_PinState; GPIO_PIN_RESET:低电平 GPIO_PIN_SET:高电平 ②函数 voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); 写入高低电平 例: HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET); ...
voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin,GPIO_PinState PinState) 第一个参数 GPIOx表示GPIOA/B/C/D/E…/H中某一组端口,此处我们的实验是GPIOB,但是为方便移植我们使用宏定义的端口R_LED_GPIO_PORT、G_LED_GPIO_PORT、B_LED_GPIO_PORT; ...
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<<...
一个设备在某一状态下(如工作状态、休眠状态、等等),所使用的pin(pin group)、pin(pin group)的 function 和 configuration,是唯一确定的。所以固定的组合可以确定固定的状态,在设备树里用 pinctrl-names 指明状态名字,pinctrl-x 指明状态引脚。 pin map pin state 有关的信息是通过 pin map 收集,相关的数据结构...
HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 先看HAL库中的ReadPin函数,HAL库中每个函数上方都有函数的相关说明,我们来一一解释一下:
HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState); HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); 先看HAL库中的ReadPin函数,HAL库中每个函数上方都有函数的相关说明,我们来一一解释一下: