0
点赞
收藏
分享

微信扫一扫

【计算机毕业设计】021基于weixin小程序微信点餐

杰森wang 2024-07-24 阅读 27
linux

记录:

内核版本4.9.88.

问题复现方法是:

1. cd /sys/class/leds/cpu //cpu是内核自带led的节点名
2. echo timer > trigger
3. echo 100 > delay_on

在设置完delay_on之后,发现delay_off自己设置为0了。同理设置delay_off后,delay_on自动设置为0.

原因是ledtrig-timer.c中:

led_delay_on_store      led_delay_off_store

                        |                |

                        led_blink_set

                                |

                led_stop_software_blink

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;
led_cdev->flags ~LED_BLINK_SW;
}

通过以上流程可以知道,在设置delay_on或者delay_off后,都会调用led_stop_software_blink,然后对delay_on/delay_off置0,这也就是为什么设置delay_on后,delay_off会自动置0.

所以这里可以把

	//led_cdev->blink_delay_on = 0;
//led_cdev->blink_delay_off = 0;

给注释掉即可

举报

相关推荐

0 条评论