Files
UKSI_TEST/Core/UKSI/uksi_dc_control.c
2025-12-16 17:57:59 +03:00

33 lines
705 B
C

#include "uksi_dc_control.h"
HAL_StatusTypeDef DC_Init(UKSI_DC_t *dc, TIM_HandleTypeDef *htim, uint32_t activemode, uint32_t inactivemode)
{
if(check_null_ptr_2(dc, htim))
return HAL_ERROR;
dc->htim = htim;
dc->ActiveMode = activemode;
dc->InactiveMode = inactivemode;
HAL_TIMEx_OCN_Start(htim, TIM_CHANNEL_1);
return HAL_TIM_OC_Start(htim, TIM_CHANNEL_1);
}
HAL_StatusTypeDef DC_Enable(UKSI_DC_t *dc, uint8_t state)
{
if(check_null_ptr_1(dc))
return HAL_ERROR;
dc->htim->Instance->CCMR1 &= ~TIM_OCMODE_PWM2;
if(state)
{
dc->htim->Instance->CCMR1 |= dc->ActiveMode;
}
else
{
dc->htim->Instance->CCMR1 |= dc->InactiveMode;
}
return HAL_OK;
}