Обновление

This commit is contained in:
cfif 2026-02-16 16:48:49 +03:00
parent 95bf770b01
commit 7e689c0162
2 changed files with 15 additions and 1 deletions

View File

@ -17,6 +17,8 @@ typedef struct {
uint8_t TPU_PWM_CHANNEL; uint8_t TPU_PWM_CHANNEL;
osMessageQueueId_t q_u32ActiveTime;
} tPwmFlagchip; } tPwmFlagchip;

View File

@ -6,6 +6,15 @@
void Get_Set_Tpu_PwmCallback(tPwmFlagchip *env) { void Get_Set_Tpu_PwmCallback(tPwmFlagchip *env) {
uint32_t data;
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32ActiveTime, &data, 0, 0);
if (cPeriodActiveTime == osOK) {
env->etpu_pwmconfig_tbl.u32ActiveTime = data;
}
TPU_PwmServiceReq(env->TPU_PWM_CHANNEL, env->etpu_pwmconfig_tbl.u32ActiveTime, TPU_PwmServiceReq(env->TPU_PWM_CHANNEL, env->etpu_pwmconfig_tbl.u32ActiveTime,
env->etpu_pwmconfig_tbl.u32PeriodTime); env->etpu_pwmconfig_tbl.u32PeriodTime);
} }
@ -20,6 +29,7 @@ void PWM_Initial(
TPU_EventCallbackType Bsp_Tpu_PwmCallback, TPU_EventCallbackType Bsp_Tpu_PwmCallback,
TPU_TCR1OverflowCallbackType Bsp_Tpu_OverflowCallBack) { TPU_TCR1OverflowCallbackType Bsp_Tpu_OverflowCallBack) {
env->q_u32ActiveTime = osMessageQueueNew(1, sizeof(uint32_t), NULL);
env->etpu_pwmconfig_tbl.eTBS1 = TPUE_EQUAL_ONLY_CAPBASE_TCR1_MATCHBASE_TCR1; env->etpu_pwmconfig_tbl.eTBS1 = TPUE_EQUAL_ONLY_CAPBASE_TCR1_MATCHBASE_TCR1;
env->etpu_pwmconfig_tbl.eTBS2 = TPUE_EQUAL_ONLY_CAPBASE_TCR1_MATCHBASE_TCR1; env->etpu_pwmconfig_tbl.eTBS2 = TPUE_EQUAL_ONLY_CAPBASE_TCR1_MATCHBASE_TCR1;
@ -78,7 +88,9 @@ static void setActivePercent(tPwmFlagchip *env, uint8_t percent) {
percent = 5; percent = 5;
// Расчет времени активности в тактах // Расчет времени активности в тактах
env->etpu_pwmconfig_tbl.u32ActiveTime = PERIOD_TICKS * percent / 100; uint32_t data = PERIOD_TICKS * percent / 100;
osMessageQueuePut(env->q_u32ActiveTime, &data, 0, 0);
} }