gpio_pinstate指通用输入输出引脚状态的一种定义 它用于描述GPIO引脚当前所处的工作状态情况其可分为高电平状态和低电平状态两类高电平状态意味着引脚具有较高的电压值低电平状态则代表引脚处于较低的电压水准通常用数字值来直观表示这两种状态比如用“1”来表示高电平状态用“0”则表示低电平状态这种定义方便程序对GPI...
上图中,pinctrl-names里定义了2种状态:default、sleep。 第0种状态用到的引脚在pinctrl-0中定义,它是state_0_node_a,位于pincontroller节点中。 第1种状态用到的引脚在pinctrl-1中定义,它是state_1_node_a,位于pincontroller节点中。 当这个设备处于default状态时,pinctrl子系统会自动根据上述信息把所用引脚复用...
后面结合pin map和pin state的介绍(3.2小节),就能更好地理解这种设计了。 2.4. Pin multiplexing(对象是pin或者pin group) 为了照顾不同类型的产品、不同的应用场景,SoC中的很多管脚可以配置为不同的功能,例如A2和B5两个管脚,既可以当作普通的GPIO使用,又可以配置为I2C0的的SCL和SDA,也可以配置为UART5的TX和RX...
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); C13引脚写入低电平 GPIO_PinStateHAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin); 读取引脚...
pin state 有关的信息是通过 pin map 收集,相关的数据结构如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 struct pinctrl_map { //device的名称 const char *dev_name; //pin state的名称 const char *name; //该map的类型 enum pinctrl_map_type type; //pin controller device的名字 const ...
第1种状态用到的引脚在Pinctrl-1中定义,它是state_1_node_a,位于pincontroller节点中。 当UART设备处于default状态时,pinctrl子系统会自动根据上述信息将所用引脚复用为uart0功能。 当UART设备处于sleep状态时,pinctrl子系统会自动根据上述信息将所用引脚配置为高电平。
第1种状态用到的引脚在pinctrl-1中定义,它是state_1_node_a,位于pincontroller节点中。 当这个设备处于default状态时,pinctrl子系统会自动根据上述信息把所用引脚复用为uart0功能。 当这这个设备处于sleep状态时,pinctrl子系统会自动根据上述信息把所用引脚配置为高电平。
uint16_t GPIO_Pin);//写引脚函数voidHAL_GPIO_WritePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin,GPIO_PinState PinState);//翻转引脚函数voidHAL_GPIO_TogglePin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);//锁定引脚函数HAL_StatusTypeDefHAL_GPIO_LockPin(GPIO_TypeDef*GPIOx,uint16_t GPIO_Pin);//中断...
void (*pin_dbg_show) (struct pinctrl_dev *pctldev, struct seq_file *s, unsigned offset); //用于将device tree中的pin state信息转换为pin map int (*dt_node_to_map) (struct pinctrl_dev *pctldev, struct device_node *np_config, struct pinctrl_map **map, unsigned *num_maps); ...
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库中每个函数上方都有函数的相关说明,我们来一一解释一下: