2025-04-26 16:03:23 +08:00

1127 lines
29 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @file: pwm_manage.c
* @brief:
* @author: mingyea
* @version: V1.0.0
* @date: 2016-03-22
* @history:
* 1.
* author:
* version:
* date:
*/
#include "pwm_manage.h"
#include "tim.h"
#include "gpio.h"
void pwm_manage_channel_init(u8 base_id, u8 channel_id);
void pwm_manage_channel_deinit(u8 base_id, u8 channel_id);
#if 0
//此数组可配置--表示把哪个通道用做pwm1使能 0不使能
const u8 g_pwm_array_channel_en_tab[PWM_PYH_TOTAL_CHANNEL] =
{
{PHY_PWM_CHANNEL_ATM_CH1_EN}, //ATM CH1
{PHY_PWM_CHANNEL_ATM_CH2_EN}, //ATM_CH2
{PHY_PWM_CHANNEL_ATM_CH3_EN}, //ATM_CH3
{PHY_PWM_CHANNEL_ATM_CH4_EN}, //ATM_CH4
{PHY_PWM_CHANNEL_GPTM0_CH1_EN}, //GPTM0_CH1
{PHY_PWM_CHANNEL_GPTM0_CH2_EN}, //GPTM0_CH2
{PHY_PWM_CHANNEL_GPTM0_CH3_EN}, //GPTM0_CH3
{PHY_PWM_CHANNEL_GPTM0_CH4_EN}, //GPTM0_CH4
{PHY_PWM_CHANNEL_GPTM1_CH1_EN}, //GPTM1_CH1
{PHY_PWM_CHANNEL_GPTM1_CH2_EN}, //GPTM1_CH2
{PHY_PWM_CHANNEL_GPTM1_CH3_EN}, //GPTM1_CH3
{PHY_PWM_CHANNEL_GPTM1_CH4_EN}, //GPTM1_CH4
};
#endif
//此数组不改动
const pwm_cfg_tab_s g_pwm_array_channel_tab[PWM_PYH_TOTAL_CHANNEL] =
{
{PWM_BASE_ID_ATM,1}, //ATM CH1
{PWM_BASE_ID_ATM,2}, //ATM_CH2
{PWM_BASE_ID_ATM,3}, //ATM_CH3
{PWM_BASE_ID_ATM,4}, //ATM_CH4
{PWM_BASE_ID_GPTM0,1}, //GPTM0_CH1
{PWM_BASE_ID_GPTM0,2}, //GPTM0_CH2
{PWM_BASE_ID_GPTM0,3}, //GPTM0_CH3
{PWM_BASE_ID_GPTM0,4}, //GPTM0_CH4
{PWM_BASE_ID_GPTM1,1}, //GPTM1_CH1
{PWM_BASE_ID_GPTM1,2}, //GPTM1_CH2
{PWM_BASE_ID_GPTM1,3}, //GPTM1_CH3
{PWM_BASE_ID_GPTM1,4}, //GPTM1_CH4
{PWM_BASE_ID_GPTM2,1}, //GPTM2_CH1
{PWM_BASE_ID_GPTM2,2}, //GPTM2_CH2
{PWM_BASE_ID_GPTM2,3}, //GPTM2_CH3
{PWM_BASE_ID_GPTM2,4}, //GPTM2_CH4
{PWM_BASE_ID_LPT32,1}, //LPT32_CH1
{PWM_BASE_ID_LPT32,2}, //LPT32_CH2
{PWM_BASE_ID_LPT32,3}, //LPT32_CH3
{PWM_BASE_ID_LPT32,4}, //LPT32_CH4
};
u8 g_lpt32_ch_flag[4] ={0u};
/**
* @brief 初始化
* @retval none
*/
void pwm_manage_atm_init(void)
{
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_1, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch1_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_2, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch2_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_3, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch3_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_4, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch4_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_4);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u) || (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u) || (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u) || (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_BDTR_Init(ATIM, (FL_ATIM_BDTR_InitTypeDef*)&g_atimer0_bdtr_config);
#endif
}
/**
* @brief 初始化
* @retval none
*/
void pwm_manage_gptm0_init(void)
{
#if (PHY_PWM_CHANNEL_GPTM0_CH1_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch1_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH2_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch2_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH3_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch3_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH4_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch4_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_4);
#endif
}
/**
* @brief 初始化
* @retval none
*/
void pwm_manage_gptm1_init(void)
{
#if (PHY_PWM_CHANNEL_GPTM1_CH1_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch1_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH2_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch2_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH3_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch3_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH4_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch4_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_4);
#endif
}
/**
* @brief 初始化
* @retval none
*/
void pwm_manage_gptm2_init(void)
{
#if (PHY_PWM_CHANNEL_GPTM2_CH1_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch1_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH2_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch2_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH3_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch3_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH4_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch4_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
#endif
}
/**
* @brief 初始化
* @retval none
*/
void pwm_manage_lpt32_init(void)
{
#if (PHY_PWM_CHANNEL_LPT32_CH1_EN !=0u)
//FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch1_cfg);
//FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH2_EN !=0u)
//FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch2_cfg);
//FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
//FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch3_cfg);
//FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
//FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch4_cfg);
//FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
#endif
}
/**
* @brief 初始化
* @retval none
*/
void pwm_manage_init(void)
{
#if 0
u8 i;
for(i = 0u; i < PWM_PYH_TOTAL_CHANNEL; i++)
{
if(g_pwm_array_channel_en_tab[i]!=0u)
{
pwm_manage_channel_init(g_pwm_array_channel_tab[i].base,g_pwm_array_channel_tab[i].channel);
}
}
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u) || (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u) || (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u) || (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_BDTR_Init(ATIM, (FL_ATIM_BDTR_InitTypeDef*)&g_atimer0_bdtr_config);
#endif
#endif
//测试
#if 0
#ifdef PWM_LOGIC_CHANNEL_LED_DEBUG
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_ILL].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_ILL].channel,500u);
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_IND].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_IND].channel,500u);
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_LF].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_LF].channel,500u);
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_RF].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_RF].channel,500u);
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_LR].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_LR].channel,500u);
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_RR].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_RED_RR].channel,500u);
pwm_set_duty(g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_BLUE_ALL].base,g_pwm_array_channel_tab[PWM_LOGIC_CHANNEL_LED_BLUE_ALL].channel,500u);
#endif
//#else
pwm_set_duty(PWM_BASE_ID_ATM,1,250u);
pwm_set_duty(PWM_BASE_ID_ATM,2,250u);
pwm_set_duty(PWM_BASE_ID_ATM,3,250u);
pwm_set_duty(PWM_BASE_ID_ATM,4,250u);
pwm_set_duty(PWM_BASE_ID_GPTM0,1,250u);
pwm_set_duty(PWM_BASE_ID_GPTM0,2,250u);
pwm_set_duty(PWM_BASE_ID_GPTM1,2,250u);
pwm_set_duty(PWM_BASE_ID_GPTM1,3,250u);
pwm_set_duty(PWM_BASE_ID_GPTM1,4,250u);
pwm_set_duty(PWM_BASE_ID_GPTM2,1,250u);
pwm_set_duty(PWM_BASE_ID_LPT32,1,0u);
pwm_set_duty(PWM_BASE_ID_LPT32,2,250u);
#endif
//
}
void pwm_manage_deinit(void)
{
FL_LPTIM32_OC_InitTypeDef timOCInit;
#if 0
u8 i;
for(i = 0u; i < PWM_PYH_TOTAL_CHANNEL; i++)
{
if(g_pwm_array_channel_en_tab[i]!=0u)
{
pwm_manage_channel_deinit(g_pwm_array_channel_tab[i].base,g_pwm_array_channel_tab[i].channel);
}
}
#else
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_1);
FL_ATIM_WriteCompareCH1(ATIM,0u);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_2);
FL_ATIM_WriteCompareCH2(ATIM,0u);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_3);
FL_ATIM_WriteCompareCH3(ATIM,0u);
#endif
#if (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_4);
FL_ATIM_WriteCompareCH4(ATIM,0u);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_GPTM0_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_4);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_GPTM1_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_4);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
#endif
#if (PHY_PWM_CHANNEL_GPTM2_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH1_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch1_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_1, &timOCInit);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH2_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch2_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_2, &timOCInit);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch3_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_3, &timOCInit);
#endif
#if (PHY_PWM_CHANNEL_LPT32_CH4_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch4_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_4, &timOCInit);
#endif
#endif
}
void pwm_manage_channel_init(u8 base_id, u8 channel_id)
{
//atm
if(base_id == PWM_BASE_ID_ATM)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_1, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch1_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_2, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch2_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_3, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch3_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_OC_Init(ATIM, FL_ATIM_CHANNEL_4, (FL_ATIM_OC_InitTypeDef*)&g_atmer0_ch4_InitStructer);
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//gptim0
else if(base_id == PWM_BASE_ID_GPTM0)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM0_CH1_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch1_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM0_CH2_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch2_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM0_CH3_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch3_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM0_CH4_EN !=0u)
FL_GPTIM_OC_Init(GPTIM0, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim_ch4_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//gptim1
else if(base_id == PWM_BASE_ID_GPTM1)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM1_CH1_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch1_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM1_CH2_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch2_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM1_CH3_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch3_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM1_CH4_EN !=0u)
FL_GPTIM_OC_Init(GPTIM1, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim1_ch4_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//gptim2
else if(base_id == PWM_BASE_ID_GPTM2)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM2_CH1_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_1, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch1_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM2_CH2_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_2, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch2_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM2_CH3_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_3, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch3_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM2_CH4_EN !=0u)
FL_GPTIM_OC_Init(GPTIM2, FL_GPTIM_CHANNEL_4, (FL_GPTIM_OC_InitTypeDef*)&g_gptim2_ch4_cfg);
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//lpt32
else if(base_id == PWM_BASE_ID_LPT32)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_LPT32_CH1_EN !=0u)
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_LPT32_CH2_EN !=0u)
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_LPT32_CH4_EN !=0u)
#endif
break;
default:
//code
break;
}
}
else
{
//
}
}
void pwm_manage_channel_deinit(u8 base_id, u8 channel_id)
{
FL_LPTIM32_OC_InitTypeDef timOCInit;
//atm
if(base_id == PWM_BASE_ID_ATM)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_1);
FL_ATIM_WriteCompareCH1(ATIM,0u);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_2);
FL_ATIM_WriteCompareCH2(ATIM,0u);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_3);
FL_ATIM_WriteCompareCH3(ATIM,0u);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_4);
FL_ATIM_WriteCompareCH4(ATIM,0u);
#endif
break;
default:
//code
break;
}
}
//gptim0
else if(base_id == PWM_BASE_ID_GPTM0)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM0_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM0_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM0_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM0_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//gptim1
else if(base_id == PWM_BASE_ID_GPTM1)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM1_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM1_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM1_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM1_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//gptim2
else if(base_id == PWM_BASE_ID_GPTM2)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM2_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM2_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM2_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM2_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//lpt32
else if(base_id == PWM_BASE_ID_LPT32)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_LPT32_CH1_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch1_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_1, &timOCInit);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_LPT32_CH2_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch2_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_2, &timOCInit);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch3_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_3, &timOCInit);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_LPT32_CH4_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch4_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_4, &timOCInit);
#endif
break;
default:
//code
break;
}
}
else
{
//
}
}
void pwm_set_duty(u8 base_id, u8 channel_id,u16 duty)
{
FL_LPTIM32_OC_InitTypeDef timOCInit;
u16 l_duty;
//atm
if(base_id == PWM_BASE_ID_ATM)
{
l_duty = SET_ATM1_PWM_DUTY_PERCENT(duty);
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u)
FL_ATIM_OC_EnableChannel(ATIM,FL_ATIM_CHANNEL_1);
FL_ATIM_WriteCompareCH1(ATIM,l_duty);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u)
FL_ATIM_OC_EnableChannel(ATIM,FL_ATIM_CHANNEL_2);
FL_ATIM_WriteCompareCH2(ATIM,l_duty);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u)
FL_ATIM_OC_EnableChannel(ATIM,FL_ATIM_CHANNEL_3);
FL_ATIM_WriteCompareCH3(ATIM,l_duty);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_OC_EnableChannel(ATIM,FL_ATIM_CHANNEL_4);
FL_ATIM_WriteCompareCH4(ATIM,l_duty);
#endif
break;
default:
//code
break;
}
}
//gptim
else if(base_id == PWM_BASE_ID_GPTM0)
{
l_duty = SET_GPTIM0_PWM_DUTY_PERCENT(duty);
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM0_CH1_EN !=0u)
FL_GPTIM_WriteCompareCH1(GPTIM0,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM0, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM0_CH2_EN !=0u)
FL_GPTIM_WriteCompareCH2(GPTIM0,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM0, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM0_CH3_EN !=0u)
FL_GPTIM_WriteCompareCH3(GPTIM0,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM0, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM0_CH4_EN !=0u)
FL_GPTIM_WriteCompareCH4(GPTIM0,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM0, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
else if(base_id == PWM_BASE_ID_GPTM1)
{
l_duty = SET_GPTIM1_PWM_DUTY_PERCENT(duty);
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM1_CH1_EN !=0u)
FL_GPTIM_WriteCompareCH1(GPTIM1,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM1, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM1_CH2_EN !=0u)
FL_GPTIM_WriteCompareCH2(GPTIM1,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM1, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM1_CH3_EN !=0u)
FL_GPTIM_WriteCompareCH3(GPTIM1,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM1, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM1_CH4_EN !=0u)
FL_GPTIM_WriteCompareCH4(GPTIM1,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM1, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
else if(base_id == PWM_BASE_ID_GPTM2)
{
l_duty = SET_GPTIM2_PWM_DUTY_PERCENT(duty);
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM2_CH1_EN !=0u)
FL_GPTIM_WriteCompareCH1(GPTIM2,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM2_CH2_EN !=0u)
FL_GPTIM_WriteCompareCH2(GPTIM2,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM2_CH3_EN !=0u)
FL_GPTIM_WriteCompareCH3(GPTIM2,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM2_CH4_EN !=0u)
FL_GPTIM_WriteCompareCH4(GPTIM2,l_duty);
FL_GPTIM_OC_EnableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
#endif
break;
default:
//code
break;
}
}
//lpt32
else if(base_id == PWM_BASE_ID_LPT32)
{
l_duty = SET_LPT32_PWM_DUTY_PERCENT(duty);
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_LPT32_CH1_EN !=0u)
if(l_duty==0u)
{
lpt32_ch1_set_gpio();
g_lpt32_ch_flag[0]=0u;
}
else
{
if(g_lpt32_ch_flag[0]!=1u)
{
lpt32_ch1_set_pwm();
g_lpt32_ch_flag[0]=1u;
}
timOCInit.OCPolarity = g_lpt32_ch1_cfg.OCPolarity;
timOCInit.compareValue = l_duty;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_1, &timOCInit);
}
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_LPT32_CH2_EN !=0u)
if(l_duty==0u)
{
lpt32_ch1_set_gpio();
g_lpt32_ch_flag[1]=0u;
}
else
{
if(g_lpt32_ch_flag[1]!=1u)
{
lpt32_ch1_set_pwm();
g_lpt32_ch_flag[1]=1u;
}
timOCInit.OCPolarity = g_lpt32_ch2_cfg.OCPolarity;
timOCInit.compareValue = l_duty;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_2, &timOCInit);
}
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch3_cfg.OCPolarity;
timOCInit.compareValue = l_duty;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_3, &timOCInit);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_LPT32_CH4_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch4_cfg.OCPolarity;
timOCInit.compareValue = l_duty;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_4, &timOCInit);
#endif
break;
default:
//code
break;
}
}
else
{
//
}
//FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_2);
}
void pwm_disable(u8 base_id, u8 channel_id)
{
FL_LPTIM32_OC_InitTypeDef timOCInit;
u8 l_duty =0u;
//atm
if(base_id == PWM_BASE_ID_ATM)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_ATM_CH1_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_1);
FL_ATIM_WriteCompareCH1(ATIM,l_duty);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_ATM_CH2_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_2);
FL_ATIM_WriteCompareCH2(ATIM,l_duty);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_ATM_CH3_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_3);
FL_ATIM_WriteCompareCH3(ATIM,l_duty);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_ATM_CH4_EN !=0u)
FL_ATIM_OC_DisableChannel(ATIM,FL_ATIM_CHANNEL_4);
FL_ATIM_WriteCompareCH4(ATIM,l_duty);
#endif
break;
default:
//code
break;
}
}
//gptim
else if(base_id == PWM_BASE_ID_GPTM0)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM0_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_1);
FL_GPTIM_WriteCompareCH1(GPTIM0,l_duty);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM0_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_2);
FL_GPTIM_WriteCompareCH2(GPTIM0,l_duty);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM0_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_3);
FL_GPTIM_WriteCompareCH3(GPTIM0,l_duty);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM0_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM0, FL_GPTIM_CHANNEL_4);
FL_GPTIM_WriteCompareCH4(GPTIM0,l_duty);
#endif
break;
default:
//code
break;
}
}
else if(base_id == PWM_BASE_ID_GPTM1)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM1_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_1);
FL_GPTIM_WriteCompareCH1(GPTIM1,l_duty);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM1_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_2);
FL_GPTIM_WriteCompareCH2(GPTIM1,l_duty);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM1_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_3);
FL_GPTIM_WriteCompareCH3(GPTIM1,l_duty);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM1_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM1, FL_GPTIM_CHANNEL_4);
FL_GPTIM_WriteCompareCH4(GPTIM1,l_duty);
#endif
break;
default:
//code
break;
}
}
else if(base_id == PWM_BASE_ID_GPTM2)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_GPTM2_CH1_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_1);
FL_GPTIM_WriteCompareCH1(GPTIM2,l_duty);
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_GPTM2_CH2_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_2);
FL_GPTIM_WriteCompareCH2(GPTIM2,l_duty);
#endif
break;
case 3u:
#if (PHY_PWM_CHANNEL_GPTM2_CH3_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_3);
FL_GPTIM_WriteCompareCH3(GPTIM2,l_duty);
#endif
break;
case 4u:
#if (PHY_PWM_CHANNEL_GPTM2_CH4_EN !=0u)
FL_GPTIM_OC_DisableChannel(GPTIM2, FL_GPTIM_CHANNEL_4);
FL_GPTIM_WriteCompareCH4(GPTIM2,l_duty);
#endif
break;
default:
//code
break;
}
}
//lpt32
else if(base_id == PWM_BASE_ID_LPT32)
{
switch(channel_id)
{
case 1u:
#if (PHY_PWM_CHANNEL_LPT32_CH1_EN !=0u)
#if 0
timOCInit.OCPolarity = g_lpt32_ch1_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_1, &timOCInit);
#else
g_lpt32_ch_flag[0]=0u;
lpt32_ch1_set_gpio();
#endif
#endif
break;
case 2u:
#if (PHY_PWM_CHANNEL_LPT32_CH2_EN !=0u)
#if 0
timOCInit.OCPolarity = g_lpt32_ch2_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_2, &timOCInit);
#else
g_lpt32_ch_flag[1]=0u;
lpt32_ch2_set_gpio();
#endif
#endif
break;
case 3u:
g_lpt32_ch_flag[2]=0u;
#if (PHY_PWM_CHANNEL_LPT32_CH3_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch3_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_3, &timOCInit);
#endif
break;
case 4u:
g_lpt32_ch_flag[3]=0u;
#if (PHY_PWM_CHANNEL_LPT32_CH4_EN !=0u)
timOCInit.OCPolarity = g_lpt32_ch4_cfg.OCPolarity;
timOCInit.compareValue = 0u;
FL_LPTIM32_OC_Init(LPTIM32, FL_LPTIM32_CHANNEL_4, &timOCInit);
#endif
break;
default:
//code
break;
}
}
else
{
//
}
}
void pwm_enable(u8 base_id, u8 channel_id)
{
}