в матлаб всё как у улитовского но не работает... почему...
плюс кучи мелочи по программе
This commit is contained in:
parent
7d40322f1e
commit
eb6979aa27
@ -737,15 +737,15 @@ void TIM_Call_IRQHandller(TIM_TypeDef* TIMx)
|
||||
TIM6_DAC_IRQHandler();
|
||||
else if (TIMx == TIM7)
|
||||
TIM7_IRQHandler();
|
||||
else if ((TIMx == TIM8) || (TIMx == TIM13))
|
||||
else if (((TIMx == TIM8) && (TIM8->SR & TIM_SR_UIF)) || (TIMx == TIM13))
|
||||
TIM8_UP_TIM13_IRQHandler();
|
||||
else if ((TIMx == TIM1) || (TIMx == TIM9))
|
||||
else if (((TIMx == TIM1) && 0) || (TIMx == TIM9))
|
||||
TIM1_BRK_TIM9_IRQHandler();
|
||||
else if ((TIMx == TIM1) || (TIMx == TIM11))
|
||||
else if (((TIMx == TIM1) && (TIM1->SR & (TIM_SR_CC1IF|TIM_SR_CC2IF | TIM_SR_CC3IF | TIM_SR_CC4IF))) || (TIMx == TIM11))
|
||||
TIM1_TRG_COM_TIM11_IRQHandler();
|
||||
else if ((TIMx == TIM8) || (TIMx == TIM12))
|
||||
else if (((TIMx == TIM8) && 0) || (TIMx == TIM12))
|
||||
TIM8_BRK_TIM12_IRQHandler();
|
||||
else if ((TIMx == TIM8) || (TIMx == TIM14))
|
||||
else if (((TIMx == TIM8) && (TIM8->SR & (TIM_SR_CC1IF | TIM_SR_CC2IF | TIM_SR_CC3IF | TIM_SR_CC4IF))) || (TIMx == TIM14))
|
||||
TIM8_TRG_COM_TIM14_IRQHandler();
|
||||
|
||||
SR_PROCESS(TIMx, SR);
|
||||
|
||||
@ -11,12 +11,18 @@ float dbg[16];
|
||||
|
||||
void Write_UPP_Outputs(real_T* Buffer, int ind_port)
|
||||
{
|
||||
int pwm1_pin = PIN_READ(PWM1);
|
||||
int pwm2_pin = PIN_READ(PWM2);
|
||||
int pwm3_pin = PIN_READ(PWM3);
|
||||
int pwm4_pin = PIN_READ(PWM4);
|
||||
int pwm5_pin = PIN_READ(PWM5);
|
||||
int pwm6_pin = PIN_READ(PWM6);
|
||||
//int pwm1_pin = PIN_READ(PWM1);
|
||||
//int pwm2_pin = PIN_READ(PWM2);
|
||||
//int pwm3_pin = PIN_READ(PWM3);
|
||||
//int pwm4_pin = PIN_READ(PWM4);
|
||||
//int pwm5_pin = PIN_READ(PWM5);
|
||||
//int pwm6_pin = PIN_READ(PWM6);
|
||||
int pwm1_pin = (upp.hpwm.AllPhases[PHASE_A_POS].State == PWM_THYR_TIM_ACTIVE);
|
||||
int pwm2_pin = (upp.hpwm.AllPhases[PHASE_A_NEG].State == PWM_THYR_TIM_ACTIVE);
|
||||
int pwm3_pin = (upp.hpwm.AllPhases[PHASE_B_POS].State == PWM_THYR_TIM_ACTIVE);
|
||||
int pwm4_pin = (upp.hpwm.AllPhases[PHASE_B_NEG].State == PWM_THYR_TIM_ACTIVE);
|
||||
int pwm5_pin = (upp.hpwm.AllPhases[PHASE_C_POS].State == PWM_THYR_TIM_ACTIVE);
|
||||
int pwm6_pin = (upp.hpwm.AllPhases[PHASE_C_NEG].State == PWM_THYR_TIM_ACTIVE);
|
||||
int err = PIN_READ(RDO1);
|
||||
int work = PIN_READ(RDO2);
|
||||
int ready = PIN_READ(RDO3);
|
||||
@ -86,7 +92,7 @@ void Write_PowerMonitor(real_T* Buffer, int ind_port)
|
||||
|
||||
{ //20-21
|
||||
WriteOutputArray(upp.pm.isr_cnt, ind_port, nn++);
|
||||
WriteOutputArray(upp.pm.slow_cnt, ind_port, nn++);
|
||||
WriteOutputArray(upp.pm.slow_cnt%PM_SLOW_PERIOD_CNT, ind_port, nn++);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Binary file not shown.
@ -1 +1 @@
|
||||
Subproject commit 0fd9c78c32ed86a14026e72115f01ca000192464
|
||||
Subproject commit c5a01c56acd851843edc478bd65c7f276a9ac8e3
|
||||
@ -19,8 +19,8 @@
|
||||
|
||||
/* Дефайны для индексов */
|
||||
/* Линейные напряжения */
|
||||
#define U_BA 0
|
||||
#define U_AC 1
|
||||
#define U_AB 0
|
||||
#define U_CA 1
|
||||
#define U_BC 2
|
||||
/* Токи фаз */
|
||||
#define I_C 0
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
|
||||
#define UPP_DISABLE_ERROR_BLOCK ///< Отключить блокировку УПП при ошибках
|
||||
#define UPP_SIMULATE_I ///< Симулировт токи (Iref/2) а не брать с АЦП
|
||||
//#define UPP_SIMULATE_I ///< Симулировт токи (Iref/2) а не брать с АЦП
|
||||
#define UPP_DISABLE_PROTECT_BOARDPOWER ///< Отключить проверки питания плат (+24, +5 В)
|
||||
#define UPP_DISABLE_PROTECT_LOSS_PHASE ///< Отключить проверки на потерянные фазы
|
||||
|
||||
@ -86,7 +86,7 @@
|
||||
#define ANGLE_PID_KD_COEF_DEFAULT 0
|
||||
|
||||
/* Параметри мониторинга сети */
|
||||
#define PM_EXP_TAU_COEF_DEFAULT 0.05
|
||||
#define PM_EXP_TAU_COEF_DEFAULT 0.2
|
||||
|
||||
/* Параметры АЦП */
|
||||
#define ADC_U_MAX_V_DEFAULT 1216.0
|
||||
@ -101,7 +101,7 @@
|
||||
/* Параметры ШИМ для тиристоров */
|
||||
#define PWM_THYR_FREQUENCY_HZ_DEFAULT 16000
|
||||
#define PWM_THYR_DUTY_PERCENT_DEFAULT 0.5
|
||||
#define PWM_THYR_PULSE_NUMBER_DEFAULT 20
|
||||
#define PWM_THYR_PULSE_NUMBER_DEFAULT 10
|
||||
|
||||
/** //UPP_PARAMS_DEFAULT
|
||||
* @}
|
||||
|
||||
@ -57,6 +57,7 @@ void PendSV_Handler(void);
|
||||
void SysTick_Handler(void);
|
||||
void TIM1_UP_TIM10_IRQHandler(void);
|
||||
void TIM2_IRQHandler(void);
|
||||
void TIM8_UP_TIM13_IRQHandler(void);
|
||||
void TIM8_TRG_COM_TIM14_IRQHandler(void);
|
||||
void DMA2_Stream0_IRQHandler(void);
|
||||
/* USER CODE BEGIN EFP */
|
||||
|
||||
@ -156,14 +156,14 @@ HAL_StatusTypeDef ADC_Handle(ADC_Periodic_t *adc)
|
||||
float *data = adc->Data;
|
||||
|
||||
// // Фильтрация от импульсных шумов для всех каналов
|
||||
// for(int i = 0; i < ADC_NUMB_OF_CHANNELS; i++)
|
||||
// {
|
||||
// if(Filter_isEnable(&adc->filter[i]))
|
||||
// {
|
||||
// // заменяем данные на отфильтрованные данные
|
||||
// data[i] = Filter_Process(&adc->filter[i], data[i]);
|
||||
// }
|
||||
// }
|
||||
for(int i = 0; i < ADC_NUMB_OF_CHANNELS; i++)
|
||||
{
|
||||
if(Filter_isEnable(&adc->filter[i]))
|
||||
{
|
||||
// заменяем сырые данные на отфильтрованные данные
|
||||
raw[i] = Filter_Process(&adc->filter[i], raw[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// Перерасчеты Напряжений/Токов в единицы измерения
|
||||
for(int i = 0; i < ADC_NUMB_OF_REGULAR_CHANNELS; i++)
|
||||
|
||||
@ -53,7 +53,7 @@ static const float adc_temp_quants[] = ADC_TEMPERATURES_QUANTS;
|
||||
|
||||
#define Filter_t FilterMedianInt_t
|
||||
#define Filter_Init FilterMedianInt_Init
|
||||
#define Filter_Initializator 5
|
||||
#define Filter_Initializator 10, 2048
|
||||
|
||||
/**
|
||||
* @brief Коэфициенты канала АЦП для пересчета в единицы измерения
|
||||
|
||||
@ -11,8 +11,8 @@
|
||||
#include "adc.h"
|
||||
#include "tim.h"
|
||||
|
||||
#define U_BC_calc(_u1_, _u2_) (-((_u1_) + (_u2_)))
|
||||
#define I_B_calc(_i1_, _i2_) (-((_i1_) + (_i2_)))
|
||||
#define U_BC_calc(_uab_, _uca_) (-((_uab_) + (_uca_)))
|
||||
#define I_B_calc(_ia_, _ic_) (-((_ia_) + (_ic_)))
|
||||
|
||||
static void __SynchAvgFilters(PowerMonitor_t *hpm);
|
||||
|
||||
@ -61,9 +61,9 @@ HAL_StatusTypeDef PowerMonitor_Init(PowerMonitor_t *hpm)
|
||||
return HAL_ERROR;
|
||||
|
||||
/* Инициализация каналов алгоритма перехода через ноль */
|
||||
if(ZC_ConfigChannel(&hpm->zc, U_BA, ZC_BOTH_EDGES) != HAL_OK)
|
||||
if(ZC_ConfigChannel(&hpm->zc, U_AB, ZC_BOTH_EDGES) != HAL_OK)
|
||||
return HAL_ERROR;
|
||||
if(ZC_ConfigChannel(&hpm->zc, U_AC, ZC_BOTH_EDGES) != HAL_OK)
|
||||
if(ZC_ConfigChannel(&hpm->zc, U_CA, ZC_BOTH_EDGES) != HAL_OK)
|
||||
return HAL_ERROR;
|
||||
if(ZC_ConfigChannel(&hpm->zc, U_BC, ZC_BOTH_EDGES) != HAL_OK)
|
||||
return HAL_ERROR;
|
||||
@ -96,7 +96,7 @@ HAL_StatusTypeDef PowerMonitor_Init(PowerMonitor_t *hpm)
|
||||
/* Инициализация среднего фильтра для частот */
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
if(FilterAverage_Init(&hpm->avg[AVG_FBA+i], MS_TO_SLOW_TICKS(PM_F_SLOW_PERIOD_MS), FILTER_MODE_DEFAULT))
|
||||
if(FilterAverage_Init(&hpm->avg[AVG_FAB+i], MS_TO_SLOW_TICKS(PM_F_SLOW_PERIOD_MS), FILTER_MODE_DEFAULT))
|
||||
return HAL_ERROR;
|
||||
|
||||
Filter_Start(&hpm->avg[ADC_TEMP_CHANNELS_START+i]);
|
||||
@ -143,7 +143,7 @@ void PowerMonitor_SlowCalc(PowerMonitor_t *hpm)
|
||||
meas->final.T[TEMP_2] = Filter_Process(&hpm->avg[AVG_TEMP2], t2);
|
||||
|
||||
/* Расчет третьей фазы */
|
||||
meas->slow.U[U_BC] = U_BC_calc(meas->slow.U[U_BA], meas->slow.U[U_AC]);
|
||||
meas->slow.U[U_BC] = U_BC_calc(meas->slow.U[U_AB], meas->slow.U[U_CA]);
|
||||
meas->slow.I[I_B] = I_B_calc(meas->slow.I[I_A], meas->slow.I[I_C]);
|
||||
|
||||
/* Расчет всякого для трех фаз отдельно */
|
||||
@ -156,13 +156,13 @@ void PowerMonitor_SlowCalc(PowerMonitor_t *hpm)
|
||||
for(int i = 0; i < 3; i++)
|
||||
{
|
||||
/* Получение частоты фазы */
|
||||
meas->final.F[i] = Filter_Process(&hpm->avg[AVG_FBA+i], ZC_GetFrequency(&hpm->zc, i));
|
||||
meas->final.F[i] = Filter_Process(&hpm->avg[AVG_FAB+i], ZC_GetFrequency(&hpm->zc, i));
|
||||
meas->final.Offset[i] = ZC_GetOffset(&hpm->zc, i);
|
||||
fmean += meas->final.F[i];
|
||||
|
||||
/* Средниее напряжение фазы */
|
||||
uphase_mean = fabsf(meas->slow.U[i]);
|
||||
uphase_mean = Filter_Process(&hpm->exp[EXP_UBA+i], uphase_mean);
|
||||
uphase_mean = Filter_Process(&hpm->exp[EXP_UAB+i], uphase_mean);
|
||||
meas->final.U[i] = uphase_mean*PI/2/SQRT2; /*PI/2 - получить амплитудное, SQRT2 - получить действующее */
|
||||
|
||||
/* Средний ток фазы */
|
||||
@ -188,7 +188,7 @@ void PowerMonitor_SlowCalc(PowerMonitor_t *hpm)
|
||||
|
||||
|
||||
/* Расчет амплитуд трехфазной сети */
|
||||
float uamp = vector_abs_linear_calc(meas->slow.U[U_BA], meas->slow.U[U_AC])/SQRT2; /* SQRT2 - получить действующее */
|
||||
float uamp = vector_abs_linear_calc(meas->slow.U[U_AB], meas->slow.U[U_CA])/SQRT2; /* SQRT2 - получить действующее */
|
||||
float iamp = vector_abs_phase_calc(meas->slow.I[I_A], meas->slow.I[I_C])/SQRT2; /* SQRT2 - получить действующее */
|
||||
meas->final.Uamp = Filter_Process(&hpm->exp[EXP_U], uamp);
|
||||
meas->final.Iamp = Filter_Process(&hpm->exp[EXP_I], iamp);
|
||||
@ -215,9 +215,9 @@ void PowerMonitor_FastCalc(PowerMonitor_t *hpm)
|
||||
float u_base = u2f(PARAM_INTERNAL.nominal.U, 10);
|
||||
float i_base = u2f(PARAM_INTERNAL.nominal.I, 10);
|
||||
PowerMonitor_Measured_t *meas = &hpm->measured;
|
||||
meas->fast.U[U_BA] = hpm->adc.Data[ADC_CHANNEL_UBA]/u_base;
|
||||
meas->fast.U[U_AC] = hpm->adc.Data[ADC_CHANNEL_UAC]/u_base;
|
||||
meas->fast.U[U_BC] = U_BC_calc(meas->fast.U[U_BA], meas->fast.U[U_AC]);
|
||||
meas->fast.U[U_AB] = hpm->adc.Data[ADC_CHANNEL_UBA]/u_base;
|
||||
meas->fast.U[U_CA] = hpm->adc.Data[ADC_CHANNEL_UAC]/u_base;
|
||||
meas->fast.U[U_BC] = U_BC_calc(meas->fast.U[U_AB], meas->fast.U[U_CA]);
|
||||
|
||||
meas->fast.I[I_C] = hpm->adc.Data[ADC_CHANNEL_IC]/i_base;
|
||||
meas->fast.I[I_A] = hpm->adc.Data[ADC_CHANNEL_IA]/i_base;
|
||||
@ -230,8 +230,8 @@ void PowerMonitor_FastCalc(PowerMonitor_t *hpm)
|
||||
//__SynchAvgFilters(hpm);
|
||||
|
||||
/* Average для медленной фильтрации */
|
||||
meas->slow.U[U_BA] = Filter_Process(&hpm->avg[AVG_UBA], meas->fast.U[U_BA]);
|
||||
meas->slow.U[U_AC] = Filter_Process(&hpm->avg[AVG_UAC], meas->fast.U[U_AC]);
|
||||
meas->slow.U[U_AB] = Filter_Process(&hpm->avg[AVG_UAB], meas->fast.U[U_AB]);
|
||||
meas->slow.U[U_CA] = Filter_Process(&hpm->avg[AVG_UCA], meas->fast.U[U_CA]);
|
||||
meas->slow.I[I_C] = Filter_Process(&hpm->avg[AVG_IC], meas->fast.I[I_C]);
|
||||
meas->slow.I[I_A] = Filter_Process(&hpm->avg[AVG_IA], meas->fast.I[I_A]);
|
||||
|
||||
|
||||
@ -15,8 +15,8 @@
|
||||
/* Индексы экспоненциальных фильтров */
|
||||
#define EXP_ALL 8
|
||||
#define EXP_U 0
|
||||
#define EXP_UBA 1
|
||||
#define EXP_UAC 2
|
||||
#define EXP_UAB 1
|
||||
#define EXP_UCA 2
|
||||
#define EXP_UBC 3
|
||||
#define EXP_I 4
|
||||
#define EXP_IC 5
|
||||
@ -24,14 +24,14 @@
|
||||
#define EXP_IB 7
|
||||
|
||||
#define AVG_ALL 9
|
||||
#define AVG_UBA 0
|
||||
#define AVG_UAC 1
|
||||
#define AVG_UAB 0
|
||||
#define AVG_UCA 1
|
||||
#define AVG_IC 2
|
||||
#define AVG_IA 3
|
||||
#define AVG_TEMP1 4
|
||||
#define AVG_TEMP2 5
|
||||
#define AVG_FBA 6
|
||||
#define AVG_FAC 7
|
||||
#define AVG_FAB 6
|
||||
#define AVG_FCA 7
|
||||
#define AVG_FBC 8
|
||||
|
||||
/**
|
||||
|
||||
@ -142,11 +142,11 @@ void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, U
|
||||
|
||||
|
||||
/*=============== ЗАЩИТЫ ПО ЧАСТОТЕ ==================*/
|
||||
if(measure->final.F[U_AC] > lFmax)
|
||||
if(measure->final.F[U_CA] > lFmax)
|
||||
{
|
||||
ERR_PRIVATE.fac_max = 1;
|
||||
}
|
||||
else if (measure->final.F[U_AC] < lFmin)
|
||||
else if (measure->final.F[U_CA] < lFmin)
|
||||
{
|
||||
ERR_PRIVATE.fac_min = 1;
|
||||
}
|
||||
@ -156,11 +156,11 @@ void Protect_Misc(PowerMonitor_Measured_t *measure, UPP_PUI_Params_t *protect, U
|
||||
ERR_PRIVATE.fac_min = 0;
|
||||
}
|
||||
|
||||
if(measure->final.F[U_BA] > lFmax)
|
||||
if(measure->final.F[U_AB] > lFmax)
|
||||
{
|
||||
ERR_PRIVATE.fba_max = 1;
|
||||
}
|
||||
else if (measure->final.F[U_BA] < lFmin)
|
||||
else if (measure->final.F[U_AB] < lFmin)
|
||||
{
|
||||
ERR_PRIVATE.fba_min = 1;
|
||||
}
|
||||
|
||||
@ -232,6 +232,20 @@ void TIM2_IRQHandler(void)
|
||||
/* USER CODE END TIM2_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM8 update interrupt and TIM13 global interrupt.
|
||||
*/
|
||||
void TIM8_UP_TIM13_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN TIM8_UP_TIM13_IRQn 0 */
|
||||
|
||||
/* USER CODE END TIM8_UP_TIM13_IRQn 0 */
|
||||
HAL_TIM_IRQHandler(&htim8);
|
||||
/* USER CODE BEGIN TIM8_UP_TIM13_IRQn 1 */
|
||||
UPP_PWM_Handle();
|
||||
/* USER CODE END TIM8_UP_TIM13_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM8 trigger and commutation interrupts and TIM14 global interrupt.
|
||||
*/
|
||||
|
||||
@ -461,6 +461,8 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
|
||||
__HAL_RCC_TIM8_CLK_ENABLE();
|
||||
|
||||
/* TIM8 interrupt Init */
|
||||
HAL_NVIC_SetPriority(TIM8_UP_TIM13_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(TIM8_UP_TIM13_IRQn);
|
||||
HAL_NVIC_SetPriority(TIM8_TRG_COM_TIM14_IRQn, 15, 0);
|
||||
HAL_NVIC_EnableIRQ(TIM8_TRG_COM_TIM14_IRQn);
|
||||
/* USER CODE BEGIN TIM8_MspInit 1 */
|
||||
@ -604,6 +606,7 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
|
||||
__HAL_RCC_TIM8_CLK_DISABLE();
|
||||
|
||||
/* TIM8 interrupt Deinit */
|
||||
HAL_NVIC_DisableIRQ(TIM8_UP_TIM13_IRQn);
|
||||
HAL_NVIC_DisableIRQ(TIM8_TRG_COM_TIM14_IRQn);
|
||||
/* USER CODE BEGIN TIM8_MspDeInit 1 */
|
||||
|
||||
|
||||
@ -367,6 +367,7 @@ HAL_StatusTypeDef PWM_Handle(PWM_Handle_t *hpwm)
|
||||
// после того как пачка импульсов прошла отключаем активный канал
|
||||
if (hPhase->State == PWM_THYR_TIM_ACTIVE)
|
||||
{
|
||||
hPhase->State = PWM_THYR_TIM_WAIT;
|
||||
if(hpwm->f.Running)
|
||||
hpwm->f.Running--;
|
||||
__PWM_SetOutputState(hPhase, PWM_DISABLE);
|
||||
|
||||
@ -25,11 +25,11 @@
|
||||
|
||||
// Индексы для структур каналов @ref PWM_Handle_t
|
||||
#define PHASE_A_POS 0
|
||||
#define PHASE_B_POS 1
|
||||
#define PHASE_C_POS 2
|
||||
#define PHASE_C_POS 1
|
||||
#define PHASE_B_POS 2
|
||||
#define PHASE_A_NEG 3
|
||||
#define PHASE_B_NEG 4
|
||||
#define PHASE_C_NEG 5
|
||||
#define PHASE_C_NEG 4
|
||||
#define PHASE_B_NEG 5
|
||||
#define PHASE_UNKNOWN 6
|
||||
|
||||
|
||||
|
||||
@ -355,7 +355,7 @@
|
||||
<Ww>
|
||||
<count>5</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>hbt,0x0A</ItemText>
|
||||
<ItemText>upp.pm.measured</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>6</count>
|
||||
@ -501,7 +501,7 @@
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>1</periodic>
|
||||
<aLwin>0</aLwin>
|
||||
<aLwin>1</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
@ -515,7 +515,7 @@
|
||||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F427ZGTx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.16.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.17.1</PackID>
|
||||
<PackURL>https://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000-0x2002FFFF) IRAM2(0x10000000-0x1000FFFF) IROM(0x8000000-0x80FFFFF) CLOCK(25000000) FPU2 CPUTYPE("Cortex-M4") TZ</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
@ -1004,8 +1004,8 @@
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F417ZGTx</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.16.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<PackID>Keil.STM32F4xx_DFP.2.17.1</PackID>
|
||||
<PackURL>https://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000,0x00020000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
|
||||
@ -163,6 +163,7 @@ NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
|
||||
NVIC.TIM1_UP_TIM10_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.TIM8_TRG_COM_TIM14_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:true
|
||||
NVIC.TIM8_UP_TIM13_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
|
||||
NVIC.TimeBase=TIM8_TRG_COM_TIM14_IRQn
|
||||
NVIC.TimeBaseIP=TIM14
|
||||
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
|
||||
|
||||
Loading…
Reference in New Issue
Block a user