// // Created by ZK on 24-5-10. // #include "APP_Task.h" #include "APP_Main.h" #include "Angle.h" #include "InteriorADC.h" #include "Controller/Controller.h" float CurrA, CurrB, CurrC; float Current_Temp, V_Temp; //float32_t NowAngle; float Current_Temp1, ii = 0.0f, iii = 0.0f; #define PWM_FREQUENCY 24000 #define CURRENT_MEASURE_HZ PWM_FREQUENCY #define CURRENT_MEASURE_PERIOD (float) (1.0f / (float) CURRENT_MEASURE_HZ) #define TIMER0_CLK_MHz 168 #define PWM_PERIOD_CYCLES (uint16_t)((TIMER0_CLK_MHz * (uint32_t) 1000000u / ((uint32_t) (PWM_FREQUENCY))) & 0xFFFE) #define HALF_PWM_PERIOD_CYCLES (uint16_t)(PWM_PERIOD_CYCLES / 2U) void High_Frequency_Task() { ii += 0.000001f; // if (ii == 0.1f) { ii = 0.1f-0.00001f; } iii += 0.1f; if (iii >= 360.0f) { iii = 0.0f; } Generate(0, 0.02f, iii); // SendCurrent_Vofa(FOC.dtc_a, iii, (uint16_t) (FOC.dtc_a * (float) HALF_PWM_PERIOD_CYCLES)); TIM1->CCR1 = (uint16_t) (FOC.dtc_a * (float) HALF_PWM_PERIOD_CYCLES); TIM1->CCR2 = (uint16_t) (FOC.dtc_b * (float) HALF_PWM_PERIOD_CYCLES); TIM1->CCR3 = (uint16_t) (FOC.dtc_c * (float) HALF_PWM_PERIOD_CYCLES); // SendCurrent_Vofa((ADC1->JDR1)/4096.0f*3.3f/0.005f/7.33333f, 0, 0); }