GPIO_DIS_OUTPUT(0);//如果以前设置过GPIO为输出,则调用此函数关闭GPIO0输出 PIN_PULLUP_EN(PERIPHS_IO_MUX_GPIO0_U);//上拉输入 if(GPIO_INPUT_GET(0) == 0) { //引脚被拉低 } 其它 配置多个引脚为输入 GPIO_AS_INPUT(BIT2 | BIT13); //配置GPIO2,GPIO13为输入...
gpio_mode_tmode值:GPIO_MODE_DISABLEGPIO_MODE_INPUTGPIO_MODE_OUTPUTGPIO_MODE_OUTPUT_ODGPIO_MODE_INPUT_OUTPUT_ODGPIO_MODE_INPUT_OUTPUT 4. GPIO输出高、低电平 gpio_set_level(gpio_num_t gpio_num, uint32_t level)level:0 低电平1 高电平 5. 输入模式检测电平 gpio_get_level(gpio_num_t gpio_...
简单来说就是通用输入输出端口,英文全称:General Purpose Input Output。通俗地说,就是一些引脚,可以通过它们输出高低电平,或者通过它们读入引脚的状态是高电平或是低电平。GPIO是个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(如UART),控制硬件工作(如LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。
GPIO_INPUT_GET(GPIO_ID_PIN(12)) 语句实际是获取 GPIO_IN 寄存器第 12 位的状态,该寄存器的值反映的是对应的管脚的输入电平(必须使能对应的管脚的输入功能,该寄存器的状态才有效)。 备注: 如果MTDI 的电平为高电平,那么 GPIO_INPUT_GET 的返回值为 1,level = 1; 如果MTDI 的电平为低电平,那么 GPIO_INPU...
printk("can't get key-gpio"); return -EINVAL; } printk("key-gpio num = %d ", chrdevbase.key_gpio); /* 3、初始化 key 所使用的 IO */ gpio_request(chrdevbase.key_gpio, "key0"); /* 请求 IO */ gpio_direction_input(chrdevbase.key_gpio); /* 设置为输入 */ ...
1-1-1 of_get_named_gpiod_flags() 1-2 gpiod_request() 1-3 gpiod_configure_flags() 总结 介绍 Linux版本:4.9.88 芯片类型:IMX6ULL 作者唠嗑:因分析的是gpio子系统的主线,其他不相关的内容已进行了相应的删除,使其主线更清晰。过程和结论都很重要!喜欢的话可以分享,记得附上原链接 ~ 不胜感激0.0 ...
gpio_input_port_get 获取一组端口的输入值 gpio_output_bit_get 获取引脚的输出值 gpio_output_port_get 获取一组端口的输出值 gpio_pin_remap_config 配置GPIO引脚重映射 gpio_pin_remap1_config 配置GPIO引脚重映射1 gpio_exti_source_select 选择哪个引脚作为EXTI源 ...
while(((GPIO_Init->Pin) >> position) !=0x00u){/* Get the IO position */ioposition = (0x01uL << position); /* Get the current IO position */iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; if(iocurrent == ioposition...
gpio_output_bit_get()函数 读取输出管脚电平状态。 例如按下按键LED2亮,如果LED1是亮的,那么切换为灭的状态,如果为灭切换为亮状态。 设置断点查看会更加准确。 while(1){ uint16_t get_gpioa_num = 0; get_gpioa_num=gpio_input_port_get(GPIOA);if(get_gpioa_num & 0x0001)//按下LED1灭LE2亮...