嵌入式开发者社区

标题: 在AM5728使用内核源码的LED驱动 [打印本页]

作者: 林格格    时间: 2019-5-10 09:39
标题: 在AM5728使用内核源码的LED驱动
你好:
    我参照创龙的“Linux驱动编程入门-LED驱动”视频教程   并且基于LED内核驱动源码配置我的设备树文件,现在通过终端命令行可以熄灭或点亮
对应板子上的指示灯(如下):
设备树文件:
            led2 {
                        label = "LED_ON";
                        gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;
                        linux,default-trigger = "gpio";
                        default-state = "on";
                };


终端:
root@am57xx-evm:/sys/class/leds# ls
LED_BF    LED_ON    LED_SF    LED_STOP  mmc0::    mmc1::
root@am57xx-evm:/sys/class/leds# echo 1 > /sys/class/leds/LED_ON/brightness
root@am57xx-evm:/sys/class/leds# echo 0 > /sys/class/leds/LED_ON/brightness


但我的目标是在程序代码里控制LED指示灯的亮,灭。我写了以下测试例程尝试控制LED指示灯:
   .................代码略.........................
      int data[1] = {1};  
      /* 打开设备文件” */
      fd = open("/sys/class/leds/LED_ON/brightness",O_RDWR);
      /* 写1,点亮LED */
      write(fd,data,1);

      .................代码略.........

但是点灯并未成功,请问我该如何通过代码控制我的LED指示灯呢???


作者: 梁淑怡-Tronlong    时间: 2019-5-10 17:39
您好,
     LED案例可以参考我司提供的《2-3-创龙Linux通用例程开发手册》里的案例。
作者: 林格格    时间: 2019-5-11 14:05
梁淑怡-Tronlong 发表于 2019-5-10 17:39
您好,
     LED案例可以参考我司提供的《2-3-创龙Linux通用例程开发手册》里的案例。 ...

已找到问题所在:
将  int data[1] = {1};
改为 char data[1]={'1'}; 即可点亮LED
感谢!!!
作者: 梁淑怡-Tronlong    时间: 2019-5-13 08:38
林格格 发表于 2019-5-11 14:05
已找到问题所在:
将  int data[1] = {1};
改为 char data[1]={'1'}; 即可点亮LED

感谢您的分享




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4