#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); }