- 打卡等级:偶尔看看III
- 打卡总天数:50
- 最近打卡:2025-04-30 22:59:03
超级版主
- 积分
- 12073
|
发表于 2025-2-13 18:05:37
|
显示全部楼层
改变占空比本身是不需要用到中断的,任何地方都可以改变(包括在中断中改变)。在中断中改变占空比是为了处理数据,比如SPWM。
//========================================================================
// 函数: void UpdatePwm(u8 id, u16 pwm_value)
// 描述: 更新PWM值.
// 参数: id: PCA序号, 0~1对应 PCA0 ~ PCA1
// pwm_value: pwm值, 这个值是输出低电平的时间.
// 返回: none.
// 版本: V1.0, 2014-5-10
//========================================================================
void UpdatePwm(u8 id, u16 pwm_value)
{
if(id == 0)
{
PCA_PWM0 = (PCA_PWM0 & ~0x32) | (u8)((pwm_value >> 4) & 0x30);
CCAP0H = (u8)pwm_value;
}
else if(id == 1)
{
PCA_PWM1 = (PCA_PWM1 & ~0x32) | (u8)((pwm_value >> 4) & 0x30);
CCAP1H = (u8)pwm_value;
}
}
|
|