pwm在背光,电机等用的比较多,总结下用法
内核上有pwm来发射红外波的demo
dts参考配置
irled {
compatible = "pwm-ir-tx";
pwms = <&pwm0 0 10000000>;
};
//pwms = <&pwms 0 10000000>;周期为10000000ns(10ms)
关键的几个api
pwm_ir->pwm = devm_pwm_get(&pdev->dev, NULL);//获取dts里的pwm
period = xxxx;//不配置就是dts的周期
duty = yyyy;//高电平时间
pwm_config(pwm, duty, period);--->pwm->chip->ops->config(pwm->chip, pwm,state->duty_cycle,state->period)
pwm_enable(pwm)/pwm_disable(pwm)--->pwm->chip->ops->enable(pwm->chip, pwm)/pwm->chip->ops->disable(pwm->chip, pwm)
本文介绍了PWM在红外信号发射中的应用实例,通过分析Linux内核中的pwm-ir-tx.c源码,详细展示了如何配置PWM周期和占空比来实现红外波的发射。文章还提供了设备树配置示例及关键API说明。
351

被折叠的 条评论
为什么被折叠?



