fix: remove useless variables
This commit is contained in:
@@ -1,20 +1,20 @@
|
||||
/**
|
||||
* Copyright (c) 2026 Wisetop. All Rights Reserved.
|
||||
*/
|
||||
|
||||
#ifndef INC_INIT_H_
|
||||
#define INC_INIT_H_
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void SYS_Config(void);
|
||||
void sysclk_init(void);
|
||||
void gpio_init(void);
|
||||
void opa_init(void);
|
||||
void adc_init(void);
|
||||
void tim0_init(void);
|
||||
void llc_pwm_init(void);
|
||||
void pfc_pwm_init(void);
|
||||
void pwm_brake();
|
||||
|
||||
#endif /* INC_INIT_H_ */
|
||||
/**
|
||||
* Copyright (c) 2026 Wisetop. All Rights Reserved.
|
||||
*/
|
||||
|
||||
#ifndef INC_INIT_H_
|
||||
#define INC_INIT_H_
|
||||
|
||||
#include "main.h"
|
||||
|
||||
void SYS_Config(void);
|
||||
void sysclk_init(void);
|
||||
void gpio_init(void);
|
||||
void opa_init(void);
|
||||
void adc_init(void);
|
||||
void tim0_init(void);
|
||||
void llc_pwm_init(void);
|
||||
void pfc_pwm_init(void);
|
||||
void pwm_brake();
|
||||
|
||||
#endif /* INC_INIT_H_ */
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,144 +1,144 @@
|
||||
/**
|
||||
* Copyright (c) 2026 Wisetop. All Rights Reserved.
|
||||
*/
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
#include "hal_device.h"
|
||||
|
||||
//=============================================================================
|
||||
// Constant Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Public Function Definition
|
||||
//=============================================================================
|
||||
void gpio_init(void)
|
||||
{
|
||||
GPIO_InitTypeDef gpio_init = { 0 };
|
||||
|
||||
// PA12, PWOK
|
||||
gpio_init.GPIO_Pin = GPIO_Pin_12;
|
||||
gpio_init.GPIO_Mode = GPIO_Mode_OUT;
|
||||
gpio_init.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
}
|
||||
//===================================================================================
|
||||
void adc_init(void)
|
||||
{
|
||||
// gpio
|
||||
GPIO_InitTypeDef gpio_init;
|
||||
gpio_init.GPIO_Pin = GPIO_Pin_08; // PA8 AIN2 VBUS
|
||||
gpio_init.GPIO_Pin |= GPIO_Pin_09; // PA9 AIN3 IP_CS
|
||||
gpio_init.GPIO_Pin |= GPIO_Pin_10; // PA10 AIN4 VCOMP
|
||||
gpio_init.GPIO_Mode = GPIO_Mode_ANAL;
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
|
||||
// adc
|
||||
ADC_InitTypeDef adc_init = { 0 };
|
||||
ADC_StructInit(&adc_init);
|
||||
adc_init.SelChannels = ADC_Channel_02;
|
||||
adc_init.SelChannels |= ADC_Channel_03;
|
||||
adc_init.SelChannels |= ADC_Channel_04;
|
||||
adc_init.ClkPrescaler = ADC_ClkDiv_4; // 60M/4 = 15MHz, ADC max working clock is 16MHz
|
||||
adc_init.DataAlign = ADC_DataAlign_Right;
|
||||
adc_init.Mode = ADC_Mode_Scan; // Scan mode
|
||||
ADC_Init(ADC0, &adc_init);
|
||||
ADC_ExtTrigConfig(ADC0, ADC_ExtTrigSource_EPWM_CH1R, ADC_ExtTrigMode_Enable);
|
||||
|
||||
// ADC interrupt config
|
||||
sys_irq_attr_t irq_attr = {
|
||||
.disable_vector = false,
|
||||
.trig_mode = SYS_IRQ_TRIGGER_LEVEL,
|
||||
.level = SYS_IRQ_LEVEL_H,
|
||||
.priority = SYS_IRQ_PRIORITY_MIDDEN,
|
||||
};
|
||||
sys_register_IRQ(ADC0_IRQn, isr_adc_handle, &irq_attr);
|
||||
|
||||
ADC0->CON0_b.INT_EN = 1; // ADC interrupt enable
|
||||
}
|
||||
//===================================================================================
|
||||
void llc_pwm_init(void)
|
||||
{
|
||||
// gpio
|
||||
// PA0(EPWM0P), PA1(EPWM0N)
|
||||
GPIO_InitTypeDef gpio_init = {
|
||||
.GPIO_Pin = GPIO_Pin_00 | GPIO_Pin_01,
|
||||
.GPIO_Mode = GPIO_Mode_AF,
|
||||
.GPIO_AF_Mode = GPIO_AF_6,
|
||||
};
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
|
||||
// tim
|
||||
TIM_TimeBaseInitTypeDef tim_init = {
|
||||
.TIM_Prescaler = 0,
|
||||
.TIM_CounterMode = TIM_CounterMode_Up,
|
||||
.TIM_Period = LLC_PERIOD_SS,
|
||||
.TIM_ClockDivision = TIM_CKD_Div1,
|
||||
.TIM_RepetitionCounter = 0,
|
||||
};
|
||||
TIM_DeInit(EPWM);
|
||||
TIM_TimeBaseInit(EPWM, &tim_init);
|
||||
|
||||
TIM_ARRPreloadConfig(EPWM, ENABLE);
|
||||
|
||||
// pwm
|
||||
TIM_OCInitTypeDef pwm_init = {
|
||||
.TIM_OCMode = TIM_OCMode_PWM1,
|
||||
.TIM_OutputState = TIM_OutputState_Disable,
|
||||
.TIM_OCPolarity = TIM_OCPolarity_High,
|
||||
.TIM_OCIdleState = TIM_OCIdleState_Reset,
|
||||
.TIM_OutputNState = TIM_OutputNState_Disable,
|
||||
.TIM_OCNPolarity = TIM_OCPolarity_High,
|
||||
.TIM_Pulse = 1,
|
||||
};
|
||||
TIM_OC1Init(EPWM, &pwm_init);
|
||||
TIM_OC2Init(EPWM, &pwm_init);
|
||||
|
||||
{ /* Automatic Output enable, Break, dead time and lock configuration */
|
||||
TIM_BDTRInitTypeDef bdtr_init = { 0 };
|
||||
bdtr_init.TIM_LOCKLevel = TIM_LockLevel_OFF;
|
||||
bdtr_init.TIM_DeadTime = DEAD_TIME_VALUE;
|
||||
TIM_BDTRConfig(EPWM, &bdtr_init);
|
||||
}
|
||||
|
||||
TIM_Cmd(EPWM, ENABLE);
|
||||
TIM_CtrlPWMOutputs(EPWM, ENABLE);
|
||||
EPWM->CCMR1_OUTPUT_b.OC1PE = 1; // Output Compare 1 preload enable
|
||||
}
|
||||
//===================================================================================
|
||||
void tim0_init(void)
|
||||
{
|
||||
LPTIM_InitTypeDef tim0_init = {
|
||||
.LPTIM_Prescaler = 0,
|
||||
.LPTIM_ClockSource = LPTIM_CLK_Src_SysClk,
|
||||
.LPTIM_MatchMode = LPTIM_MatchMode_IRQ | LPTIM_MatchMode_Reset,
|
||||
.LPTIM_MatchValue = TIM0_PERIOD,
|
||||
};
|
||||
LPTIM_Init(TIM0, &tim0_init);
|
||||
|
||||
LPTIM_Enable(TIM0);
|
||||
}
|
||||
//===================================================================================
|
||||
void sysclk_init(void)
|
||||
{
|
||||
SYSCFG_ClkInitTypeDef SysClkInit = {
|
||||
.ClkSource = SYSCFG_ClkSrc_HSI,
|
||||
};
|
||||
|
||||
SYSCFG_SysClkConfig(&SysClkInit);
|
||||
sys_config_systick(SYS_TICK_1_MS);
|
||||
}
|
||||
//===================================================================================
|
||||
void SYS_Config(void)
|
||||
{
|
||||
sysclk_init();
|
||||
|
||||
gpio_init();
|
||||
|
||||
adc_init();
|
||||
|
||||
llc_pwm_init();
|
||||
|
||||
uart_init();
|
||||
}
|
||||
/**
|
||||
* Copyright (c) 2026 Wisetop. All Rights Reserved.
|
||||
*/
|
||||
|
||||
#include "init.h"
|
||||
#include "app.h"
|
||||
#include "hal_device.h"
|
||||
|
||||
//=============================================================================
|
||||
// Constant Definition
|
||||
//=============================================================================
|
||||
|
||||
//=============================================================================
|
||||
// Public Function Definition
|
||||
//=============================================================================
|
||||
void gpio_init(void)
|
||||
{
|
||||
GPIO_InitTypeDef gpio_init = { 0 };
|
||||
|
||||
// PA12, PWOK
|
||||
gpio_init.GPIO_Pin = GPIO_Pin_12;
|
||||
gpio_init.GPIO_Mode = GPIO_Mode_OUT;
|
||||
gpio_init.GPIO_PuPd = GPIO_PuPd_NOPULL;
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
}
|
||||
//===================================================================================
|
||||
void adc_init(void)
|
||||
{
|
||||
// gpio
|
||||
GPIO_InitTypeDef gpio_init;
|
||||
gpio_init.GPIO_Pin = GPIO_Pin_08; // PA8 AIN2 VBUS
|
||||
gpio_init.GPIO_Pin |= GPIO_Pin_09; // PA9 AIN3 IP_CS
|
||||
gpio_init.GPIO_Pin |= GPIO_Pin_10; // PA10 AIN4 VCOMP
|
||||
gpio_init.GPIO_Mode = GPIO_Mode_ANAL;
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
|
||||
// adc
|
||||
ADC_InitTypeDef adc_init = { 0 };
|
||||
ADC_StructInit(&adc_init);
|
||||
adc_init.SelChannels = ADC_Channel_02;
|
||||
adc_init.SelChannels |= ADC_Channel_03;
|
||||
adc_init.SelChannels |= ADC_Channel_04;
|
||||
adc_init.ClkPrescaler = ADC_ClkDiv_4; // 60M/4 = 15MHz, ADC max working clock is 16MHz
|
||||
adc_init.DataAlign = ADC_DataAlign_Right;
|
||||
adc_init.Mode = ADC_Mode_Scan; // Scan mode
|
||||
ADC_Init(ADC0, &adc_init);
|
||||
ADC_ExtTrigConfig(ADC0, ADC_ExtTrigSource_EPWM_CH1R, ADC_ExtTrigMode_Enable);
|
||||
|
||||
// ADC interrupt config
|
||||
sys_irq_attr_t irq_attr = {
|
||||
.disable_vector = false,
|
||||
.trig_mode = SYS_IRQ_TRIGGER_LEVEL,
|
||||
.level = SYS_IRQ_LEVEL_H,
|
||||
.priority = SYS_IRQ_PRIORITY_MIDDEN,
|
||||
};
|
||||
sys_register_IRQ(ADC0_IRQn, isr_adc_handle, &irq_attr);
|
||||
|
||||
ADC0->CON0_b.INT_EN = 1; // ADC interrupt enable
|
||||
}
|
||||
//===================================================================================
|
||||
void llc_pwm_init(void)
|
||||
{
|
||||
// gpio
|
||||
// PA0(EPWM0P), PA1(EPWM0N)
|
||||
GPIO_InitTypeDef gpio_init = {
|
||||
.GPIO_Pin = GPIO_Pin_00 | GPIO_Pin_01,
|
||||
.GPIO_Mode = GPIO_Mode_AF,
|
||||
.GPIO_AF_Mode = GPIO_AF_6,
|
||||
};
|
||||
GPIO_Init(GPIOA, &gpio_init);
|
||||
|
||||
// tim
|
||||
TIM_TimeBaseInitTypeDef tim_init = {
|
||||
.TIM_Prescaler = 0,
|
||||
.TIM_CounterMode = TIM_CounterMode_Up,
|
||||
.TIM_Period = LLC_PERIOD_SS,
|
||||
.TIM_ClockDivision = TIM_CKD_Div1,
|
||||
.TIM_RepetitionCounter = 0,
|
||||
};
|
||||
TIM_DeInit(EPWM);
|
||||
TIM_TimeBaseInit(EPWM, &tim_init);
|
||||
|
||||
TIM_ARRPreloadConfig(EPWM, ENABLE);
|
||||
|
||||
// pwm
|
||||
TIM_OCInitTypeDef pwm_init = {
|
||||
.TIM_OCMode = TIM_OCMode_PWM1,
|
||||
.TIM_OutputState = TIM_OutputState_Disable,
|
||||
.TIM_OCPolarity = TIM_OCPolarity_High,
|
||||
.TIM_OCIdleState = TIM_OCIdleState_Reset,
|
||||
.TIM_OutputNState = TIM_OutputNState_Disable,
|
||||
.TIM_OCNPolarity = TIM_OCPolarity_High,
|
||||
.TIM_Pulse = 1,
|
||||
};
|
||||
TIM_OC1Init(EPWM, &pwm_init);
|
||||
TIM_OC2Init(EPWM, &pwm_init);
|
||||
|
||||
{ /* Automatic Output enable, Break, dead time and lock configuration */
|
||||
TIM_BDTRInitTypeDef bdtr_init = { 0 };
|
||||
bdtr_init.TIM_LOCKLevel = TIM_LockLevel_OFF;
|
||||
bdtr_init.TIM_DeadTime = DEAD_TIME_VALUE;
|
||||
TIM_BDTRConfig(EPWM, &bdtr_init);
|
||||
}
|
||||
|
||||
TIM_Cmd(EPWM, ENABLE);
|
||||
TIM_CtrlPWMOutputs(EPWM, ENABLE);
|
||||
EPWM->CCMR1_OUTPUT_b.OC1PE = 1; // Output Compare 1 preload enable
|
||||
}
|
||||
//===================================================================================
|
||||
void tim0_init(void)
|
||||
{
|
||||
LPTIM_InitTypeDef tim0_init = {
|
||||
.LPTIM_Prescaler = 0,
|
||||
.LPTIM_ClockSource = LPTIM_CLK_Src_SysClk,
|
||||
.LPTIM_MatchMode = LPTIM_MatchMode_IRQ | LPTIM_MatchMode_Reset,
|
||||
.LPTIM_MatchValue = TIM0_PERIOD,
|
||||
};
|
||||
LPTIM_Init(TIM0, &tim0_init);
|
||||
|
||||
LPTIM_Enable(TIM0);
|
||||
}
|
||||
//===================================================================================
|
||||
void sysclk_init(void)
|
||||
{
|
||||
SYSCFG_ClkInitTypeDef SysClkInit = {
|
||||
.ClkSource = SYSCFG_ClkSrc_HSI,
|
||||
};
|
||||
|
||||
SYSCFG_SysClkConfig(&SysClkInit);
|
||||
sys_config_systick(SYS_TICK_1_MS);
|
||||
}
|
||||
//===================================================================================
|
||||
void SYS_Config(void)
|
||||
{
|
||||
sysclk_init();
|
||||
|
||||
gpio_init();
|
||||
|
||||
adc_init();
|
||||
|
||||
llc_pwm_init();
|
||||
|
||||
uart_init();
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user