1127 lines
29 KiB
C
Raw Normal View History

2025-04-26 16:03:23 +08:00
/**
* @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)
{
}