先列一下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. SSIS连接Oracle问题汇总

    一.未安装Oracle客户端 错误提示:Test connection failed because of an error in initializing provider. 未找到 Oracle ...

  2. 用文字“画出”时序图:用 AI+Mermaid.js 解决交互过程中的问题

    什么是时序图 序列图是一种用于描述对象之间在时间上的交互顺序的图表. 它可以展示对象之间是如何相互作用的,以及这些交互的顺序. 什么是Mermaid Mermaid.js是一个开源项目,它允许你通过简 ...

  3. Git命令缩写

    g = 'git' ga = 'git add' gaa='git add --all' gapa='git add --patch' gb='git branch' gba='git branch ...

  4. sprintboot-aop切面编程demo

    AOP(面向切面编程)的核心概念是"切面". 切面是一个跨越多个对象的类,它封装了横切关注点的具体实现.通过定义切面,开发人员可以将通用功能从业务逻辑中分离出来,形成独立的模块.在 ...

  5. 终于搞全了:GPIO/ADC/LED/I2C/SPI/USB…

    合宙低功耗4G模组经典型号Air780E,支持两种软件开发方式: 一种是传统的AT指令:一种是基于模组做Open开发. 传统AT指令的开发方式,合宙模组与行业内其它模组品牌在软件上区别不大,在硬件功耗 ...

  6. 玩转AI工作流:一步步搭建灵活的自动化流程

    我们之前搭建了许多不同类型的智能体,其中最受欢迎的就是在智能体中搭建各种工作流--这也是我最喜欢探索和玩的领域.那么,究竟什么是工作流?如何在后端实现一个工作流呢?今天我们就先简单了解下. 什么是工作 ...

  7. ibatis源码分析

    背景:调试模式下,单步运行一个查询订单协议操作,记录了ibatis框架的执行动作,侧面剖析其原理. 一.简介: 1. dal 层的dao接口实现类通常会继承SqlMapClientDaoSupport ...

  8. JAVA并发编程学习笔记之Unsafe类

    java不能直接访问操作系统底层,而是通过本地方法来访问.Unsafe类提供了硬件级别的原子操作,主要提供了以下功能: 1.通过Unsafe类可以分配内存,可以释放内存: 类中提供的3个本地方法all ...

  9. Gitlab之CICD环境变量

    CI/CD variables are a type of environment variable. You can use them to: Control the behavior of job ...

  10. LonEle 操作的 SQL Server 数据库(msde2000)由 20180418 版更新至 20190328 版(非官方)

    Shanghai Mitsubishi Elevator Co., Ltd(上海三菱电梯有限公司) 的 Comprehensive Elevator Monitoring System (电梯综合监控 ...