Files
checker_m4/source/interface/if_pwm.c
2023-06-25 15:30:36 +08:00

56 lines
758 B
C

#include "board.h"
#include "debug.h"
// 使用定时器14
// PF7,8,9 是输出口
typedef struct{
TIM_HandleTypeDef htim;
}self_def;
static self_def g_self;
static int init(pwm_def *p)
{
self_def *s=&g_self;
if(p->private_data) return 0;
p->private_data=s;
s->htim.Instance = TIM14;
s->htim.Init.Prescaler = 209-1;
s->htim.Init.CounterMode = TIM_COUNTERMODE_UP;
s->htim.Init.Period = 65535;
s->htim.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
s->htim.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
if (HAL_TIM_Base_Init(&s->htim) != HAL_OK)
{
DBG_ERR("time init failed.");
return -1;
}
return 0;
}
void TIM14_IRQHandler(void)
{
self_def *s=&g_self;
HAL_TIM_IRQHandler(&s->htim);
}