先列一下leds trigger的设置流程

echo none > trigger 的流程

led_trigger_set()
  |
  led_stop_software_blink()
    
echo timer > trigger 的流程
led_trigger_set()
  |
  ret = trig->activate(led_cdev);
    |
    timer_trig_activate()
      |
      led_blink_set()
        |
        led_blink_setup()
 
问题出在led_stop_software_blink()这个函数。当trigger设置为none时会调用到这里,这个函数会将delay_on/off都还原成0
void led_stop_software_blink(struct led_classdev *led_cdev)
{
del_timer_sync(&led_cdev->blink_timer);
led_cdev->blink_delay_on = 0;
led_cdev->blink_delay_off = 0;
clear_bit(LED_BLINK_SW, &led_cdev->work_flags);
}

当trigger设置为timer时会调用到这里,此时delay_on跟delay_off都为0,if (!*delay_on && !*delay_off) 判断成立,最终delay_on/off就被重置为1HZ

static void led_blink_setup(struct led_classdev *led_cdev,
unsigned long *delay_on,
unsigned long *delay_off)
{
if (!test_bit(LED_BLINK_ONESHOT, &led_cdev->work_flags) &&
led_cdev->blink_set &&
!led_cdev->blink_set(led_cdev, delay_on, delay_off))
return; /* blink with 1 Hz as default if nothing specified */
if (!*delay_on && !*delay_off)
*delay_on = *delay_off = 500; led_set_software_blink(led_cdev, *delay_on, *delay_off);
}

所以,解决方案就是将led_stop_software_blink()函数中delay_on/off设置为0的代码注释掉。

修改led-core.c 让led的delay_on和delay_off时间不会应为trigger配置改版而重置为1HZ的更多相关文章

  1. 简化MVVM属性设置和修改 - .NET CORE(C#) WPF开发

    微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 简化MVVM属性设置和修改 - .NET CORE(C#) WPF开发 阅读导航 常用类属性设 ...

  2. c显示数字的LED(数字转LED)

    实现这么一个函数:传入一个int值,在屏幕输出类似LED显示屏效果的字母拼图,例如: 输入1234567890,输出: 请注意每个字符的固定宽度和高度,两个数字间保留一个空格. 函数名:void LE ...

  3. LED Holiday Light -Picking LED Christmas Lights, 4 Things

    LED Christmas lights are not very cheap, but you should know that LED lights can be used for more th ...

  4. LED Decorative Light Supplier - LED Environmental Decorative Lighting Application

    Creating ambient lighting in the home can bridge the gap between the internal world and the outside ...

  5. LED Decorative Light Supplier - LED Neon Application: 5 Advantages

    In the past 100 years, lighting has gone a long way. LED decorative lighting is now designed to meet ...

  6. LED Decorative Light Manufacturer - LED Neon Rope: 5 Advantages

    In the past 100 years, lighting has come a long way. Nowadays, the decorative LED lighting design ca ...

  7. LED Decorative Light Manufacturer - Led Wall Lamp Performance Characteristics

    LED Decorative Light Manufacturer    introduction: LED wall lamp is a light-emitting diode as a ligh ...

  8. 修改.net core MVC默认端口

    默认端口是5000,更改端口修改launchSettings.json.如图:

  9. 关于修改.net core webapi中null默认返回的状态码。

    在asp .net core webapi中,http请求的响应数据如果是null的话,我们知道状态码会返回204,即NoContent,为什么会出现这种情况呢?   因为在返回响应数据的时候,nul ...

  10. 修改.net core 运行端口

    ASPNETCORE_URLS environment variable is ignored by "dotnet run" dotnet new web set ASPNETC ...

随机推荐

  1. PHP执行root命令权限

    先修改php函数启用system vi /usr/local/php/etc/php.ini disable functions 里面删除system 修改php账号执行权限www vi /etc/s ...

  2. 推荐一个 ASP.NET Core 的轻量级插件框架

    前言 本文将介绍一个专为ASP.NET Core设计的轻量级插件框架--PluginCore,该框架不仅能够简化插件的开发与集成,还能大幅提高开发效率. 另外,还将简要介绍相关的前端技术和SDK支持, ...

  3. 2024 xp_CAPTCHA(瞎跑-白嫖版) 4.3最新版安装使用教程

    前言 xp_CAPTCHA(瞎跑-白嫖版)是一个免费的burpsuite插件,具有自动化图形验证码识别的功能.在安装的过程中,我发现网上的教程基本都为其较早的版本,已经不具备参考价值.因而我写下本篇博 ...

  4. 国产化UOS适配

    配置本地iso镜像为apt源 把镜像放到目录下 /home/gaohongyu/debian/uniontechos-server-20-enterprise-1030-arm64.iso 创建目录 ...

  5. 题解:CF1537E2 Erase and Extend (Hard Version)

    CF1537E2 Erase and Extend 题解 分析 通过观察题目,可以证明结果一定是由多次前缀复制得来的. 题目要求你进行删和复制的操作,与其交替着操作,不如直接先删到最优的前缀再进行复制 ...

  6. Cisco Packet Tracer 交换机代码

    二层交换机S1代码: >en #conf  t #vlan 10 #vlan 20 #int r f 0/1-5 #sw a v 10 #int r f 0/6-10 #sw a v 20 #i ...

  7. Flink CDC 实时同步 Oracle

    Flink CDC 系列文章 Flink CDC 实时同步 MySQL Flink CDC 实时同步 Oracle 准备工作 Oracle 数据库(version: 11g) 开启归档日志 sqlpl ...

  8. linux下文件夹文件名称最大长度

    今天突发奇想,如果创建一个文件,不写入内容,就如我们之前说的写入扩展属性能快速查找数据,但是在SSD下只能写4000个左右的字符,那么有没有更快速的方法存储这样的信息呢? 我想到可以同文件名来存储信息 ...

  9. pycharm之常用插件

    参考:http://pycharm.iswbm.com/zh_CN/latest/ 1. Key Promoter X 如果让我给新手推荐一个 PyCharm 必装插件,那一定是 Key Promot ...

  10. Blazor 组件库 BootstrapBlazor 中CheckboxList组件介绍

    组件介绍 CheckboxList 多选框组控件用于创建多选的复选框组. 他的样子是这样的: 代码也很简单,绑定一个List就行了. <CheckboxList @bind-Value=&quo ...