|
GPIO7, LP Timer 输出2Khz 25% PWM波形 ----------------------------
波形输出
代码片断 void example_lp_tim_free_running_pwm(void)
{
uint8_t i = 1;
lp_tim_free_running_config_t mode_cfg;
lp_tim_out_config_t out_cfg;
mode_cfg.presclar = 0;
mode_cfg.top_en = 1;
mode_cfg.top_val = 16; //PWM freq= 32Khz/16=2Hhz
mode_cfg.compare_val0 = 0;//don't care
mode_cfg.compare_val1 = 4; // duty= val1/top_val=4/16=25%
drv_lp_tim_free_running_init(OM_LP_TIM, &mode_cfg);
pin_config_t pin_cfg_cnt [] = {
{7, {PINMUX_LP_TIMER_OUT1_CFG}, PMU_PIN_MODE_PP, PMU_PIN_DRIVER_CURRENT_NORMAL},
};
drv_pin_init(pin_cfg_cnt, sizeof(pin_cfg_cnt) / sizeof(pin_cfg_cnt[0]));
out_cfg.pol = LP_TIM_POL_IDLE_LOW;
out_cfg.action = LP_TIM_UFOA_PWM;
drv_lp_tim_outx_config(OM_LP_TIM, LP_TIM_CHAN_OUT1, &out_cfg);
drv_lp_tim_control(OM_LP_TIM, LP_TIM_CONTROL_POWER_IN_SLEEP, &i);
drv_pmu_32k_enable_in_deep_sleep(true);
drv_lp_tim_control(OM_LP_TIM, LP_TIM_CONTROL_START, NULL);
} |


