6626 LP Timer 输出PWM示例

wen sir · 13次点击 · 1天前

GPIO7, LP Timer 输出2Khz 25% PWM波形


----------------------------


d49500bb0a7c0f72ebfa961f0bddbef6.png

波形输出

ade2ff8c52ed30e8d8b3542af83786a8.png

代码片断

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);
}


被收藏 0  ∙  0 赞  
加入收藏
点赞
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站