From 82e38738a4d532cc3d56cbf80c1a4093f23cdd6a Mon Sep 17 00:00:00 2001 From: tao_z <tzj0429@163.com> Date: Wed, 14 Jul 2021 07:01:42 +0800 Subject: [PATCH] 调整时钟64MHz。 RTT任务增加马达开启和关闭功能 --- USR/INC/motor.h | 38 +++++++++++++++++++++++++++++--------- 1 files changed, 29 insertions(+), 9 deletions(-) diff --git a/USR/INC/motor.h b/USR/INC/motor.h index 0ca8444..f519be8 100644 --- a/USR/INC/motor.h +++ b/USR/INC/motor.h @@ -1,6 +1,7 @@ #ifndef MOTOR_H #define MOTOR_H -#include "" +#include "gpio.h" +#include "gd32e23x_exti.h" /* �������תʵ�ֽṹ�� */ #define SPEED_FILTER_NUM 30 // �ٶ��˲����� @@ -16,16 +17,35 @@ /* �ۼ� TIM_Period�������һ�����»����ж� ����ʱ����0������65535����Ϊ65535�Σ�Ϊһ���������� */ #define HALL_PERIOD_COUNT (0xFFFF) - -/* ͨ�ÿ��ƶ�ʱ��ʱ��ԴTIMxCLK = HCLK = 72MHz - �趨��ʱ��Ƶ��Ϊ = TIMxCLK / (PWM_PRESCALER_COUNT) / PWM_PERIOD_COUNT = 9.987Hz - ���� T = 100ms */ +#define SPEED_PRESCALER_COUNT (6400u) +#define SPEED_PERIOD_COUNT (30000u) +/* ͨ�ÿ��ƶ�ʱ��ʱ��ԴTIMxCLK = HCLK = 64MHz + �趨��ʱ��Ƶ��Ϊ = TIMxCLK / (SPEED_PRESCALER_COUNT) / SPEED_PERIOD_COUNT = 33.333Hz + ���� T = 30ms */ #define HALL_PRESCALER_COUNT (110) -#define HALL_A_EXTI (EXTI_4) +#define HALL_C_EXTI (EXTI_4) #define HALL_B_EXTI (EXTI_5) -#define HALL_C_EXTI (EXTI_15) +#define HALL_A_EXTI (EXTI_15) + +#define MOTOR_OUT_CH_U (TIMER_CH_1) +#define MOTOR_OUT_CH_V (TIMER_CH_0) +#define MOTOR_OUT_CH_W (TIMER_CH_2) + +#define MOTOR_U_L_ENABLE (gpio_bit_write(PWM_LIN2_PORT, PWM_LIN2_PIN, SET)) +#define MOTOR_U_L_DISABLE (gpio_bit_write(PWM_LIN2_PORT, PWM_LIN2_PIN, RESET)) + +#define MOTOR_V_L_ENABLE (gpio_bit_write(PWM_LIN3_PORT, PWM_LIN3_PIN, SET)) +#define MOTOR_V_L_DISABLE (gpio_bit_write(PWM_LIN3_PORT, PWM_LIN3_PIN, RESET)) + +#define MOTOR_W_L_ENABLE (gpio_bit_write(PWM_LIN1_PORT, PWM_LIN1_PIN, SET)) +#define MOTOR_W_L_DISABLE (gpio_bit_write(PWM_LIN1_PORT, PWM_LIN1_PIN, RESET)) extern void HAL_HallExti_TriggerCallback(void); - -#endif \ No newline at end of file +extern void BLDC_SpeedAndPID(void); +extern float get_motor_speed(void); +void hall_enable(void); +void hall_disable(void); +void set_pwm_pulse(uint16_t pulse); +extern void Motor_Init(void); +#endif -- Gitblit v1.8.0