Обновление после командировки 30.06.2026
This commit is contained in:
parent
542c456092
commit
110d17df74
|
|
@ -24,6 +24,10 @@ typedef struct {
|
|||
|
||||
osMessageQueueId_t q_u32PeriodActiveTime;
|
||||
|
||||
uint32_t timeout;
|
||||
uint8_t percent;
|
||||
tPwmCaptureData data;
|
||||
|
||||
} tPwmCaptureFlagchip;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -74,26 +74,27 @@ void PWM_Capture_Initial(
|
|||
|
||||
static uint8_t vGetPwm(tPwmCaptureFlagchip *env) {
|
||||
|
||||
uint8_t percent = 0;
|
||||
|
||||
tPwmCaptureData data;
|
||||
|
||||
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &data, 0, 100);
|
||||
cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &data, 0, 100);
|
||||
osStatus_t cPeriodActiveTime = osMessageQueueGet(env->q_u32PeriodActiveTime, &env->data, 0, 0);
|
||||
|
||||
if (cPeriodActiveTime == osOK) {
|
||||
percent = data.ActiveTime * 100 / data.PeriodTime;
|
||||
env->timeout = SystemGetMs() + 1000;
|
||||
|
||||
env->percent = env->data.ActiveTime * 100 / env->data.PeriodTime;
|
||||
|
||||
// Инверсия для отображения
|
||||
percent = 100 - percent;
|
||||
env->percent = 100 - env->percent;
|
||||
} else {
|
||||
if (env->timeout < SystemGetMs()) {
|
||||
env->percent = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// PWM - Отключен
|
||||
if (percent == 100) {
|
||||
percent = 0;
|
||||
if (env->percent == 100) {
|
||||
env->percent = 0;
|
||||
}
|
||||
|
||||
return percent;
|
||||
return env->percent;
|
||||
}
|
||||
|
||||
tPwmCaptureIO vPwmCaptureGetIo(tPwmCaptureFlagchip *env) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue