PWM(脉宽调制)
LibXR::PWM
提供平台无关的 PWM 信号控制接口,用于控制 LED 亮度、电机速度等占空比调节相关的外设。
接口定义
class PWM {
public:
struct Configuration {
uint32_t frequency; // PWM 频率(Hz)
};
// 设置占空比,范围为 0.0 ~ 1.0
virtual ErrorCode SetDutyCycle(float value) = 0;
// 设置 PWM 参数(如频率)
virtual ErrorCode SetConfig(Configuration config) = 0;
// 启用 PWM 输出
virtual ErrorCode Enable() = 0;
// 禁用 PWM 输出
virtual ErrorCode Disable() = 0;
};
特性总结
- 抽象占空比调节和频率配置;
- 统一接口适用于 LED、马达、蜂鸣器等控制;
- 提供启用与禁用接口,适合状态控制与节能管理;
- 平台需实现具体信号输出逻辑,上层调用保持一致性。