主题: LP5569中讨论的其他部件
我尝试遵循此示例
句点0x9f PSC0
周期0x1f PSC1
占空比0x3f PWM1
def lp3944_dim_set_period(self, dim0_or_dim1: boolean, period: int) ->int:
psc_reg = LP3944_REG_PSC0 if dim0_or_dim1 else LP3944_REG_PSC1
# Convert period to Prescaler value */
if (period > LP3944_PERIOD_MAX):
return -1
psc_value = (period * 255) // LP3944_PERIOD_MAX
psc_dim = "PSC0" if dim0_or_dim1 else "PSC1"
print("Period " + str(hex(psc_value)) + " " + psc_dim)
err = self.lp3944_reg_write(psc_reg, psc_value)
return err;
def lp3944_dim_set_dutycycle(self, dim0_or_dim1: boolean, duty_cycle: int) ->int:
pwm_reg = LP3944_REG_PWM0 if dim0_or_dim1 else LP3944_REG_PWM1
# Convert duty cycle to PWM value */
if (duty_cycle > LP3944_DUTY_CYCLE_MAX):
return -1
pwm_value = (duty_cycle * 255) // LP3944_DUTY_CYCLE_MAX
pwm_dim = "PWM0" if dim0_or_dim1 else "PWM1"
print("Duty cycle " + str(hex(pwm_value)) + " " + pwm_dim)
return self.lp3944_reg_write(pwm_reg, pwm_value)