OpenEdv-开源电子网

标题: 设备树设置GPIO_ACTIVE_LOW和GPIO_ACTIVE_HIGH好像没区别 [打印本页]

作者: routedhust    时间: 2022-8-26 09:45
标题: 设备树设置GPIO_ACTIVE_LOW和GPIO_ACTIVE_HIGH好像没区别
pinctrl和gpio子系统的章节中,设置LED灯的设备树如下(这是书上例子):
led-gpio = <&gpio1 3 GPIO_ACTIVE_LOW>;
同时修改驱动程序中写入的函数如下:
        ledstat = databuf[0];//读取用户空间写入的数据(1 or 0)
        /*
        if(ledstat == LEDON) gpio_set_value(dev->led_gpio, 0);
        else gpio_set_value(dev->led_gpio, 1);
        */
        gpio_set_value(dev->led_gpio, ledstat); //直接写gpio 1或者0

app中输入./newledApp /dev/gpioled 1,灯灭
输入./newledApp /dev/gpioled 0,灯亮。
然后我修改设备树为GPIO_ACTIVE_HIGH
led-gpio = <&gpio1 3 GPIO_ACTIVE_HIGH>;
实验结果是一样的,也就是说HIGH和LOW没起作用?

作者: 茂茂2019    时间: 2022-8-26 09:45
GPIO_ACTIVE_HIGH这个值是给代码解释用的,可以写成0 / 1都可以。
作者: duanxu    时间: 2023-8-14 21:43
茂茂2019 发表于 2022-8-26 09:45
GPIO_ACTIVE_HIGH这个值是给代码解释用的,可以写成0 / 1都可以。

什么意思?没听懂,按理说逻辑应该反转才对啊
作者: duanxu    时间: 2023-8-14 21:54
茂茂2019 发表于 2022-8-26 09:45
GPIO_ACTIVE_HIGH这个值是给代码解释用的,可以写成0 / 1都可以。

您好,没有听懂呢,按理来说,设置成GPIO_ACTIVE_HIGH时应该是给高电平灯亮把




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4