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