34 lines
748 B
C
34 lines
748 B
C
#include "by_motion.h"
|
||
|
||
#include "dwt_delay.h"
|
||
#include "by_utils.h"
|
||
|
||
#define DRV_ENABLE() gpio_bits_set(GPIOB, GPIO_PINS_15)
|
||
#define DRV_DISABLE() gpio_bits_reset(GPIOB, GPIO_PINS_15)
|
||
|
||
void by_motion_pwm_m1(int32_t pwm_duty)
|
||
{
|
||
pwm_duty = clip_s32(pwm_duty, -449, 449); // 不可以拉满哦
|
||
pwm_duty += 499;
|
||
|
||
// 互补 pwm 输出,499 为中值
|
||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_1, pwm_duty);
|
||
}
|
||
|
||
void by_motion_pwm_m2(int32_t pwm_duty)
|
||
{
|
||
pwm_duty = clip_s32(pwm_duty, -449, 449); // 不可以拉满哦
|
||
pwm_duty += 499;
|
||
|
||
// 互补 pwm 输出,499 为中值
|
||
tmr_channel_value_set(TMR1, TMR_SELECT_CHANNEL_2, pwm_duty);
|
||
}
|
||
|
||
void by_motion_init(void)
|
||
{
|
||
DRV_ENABLE();
|
||
by_motion_pwm_m1(125);
|
||
by_motion_pwm_m2(0);
|
||
|
||
}
|