新增电机板级支持包:基于 AT8236-MS 驱动芯片,实现了对 4 个直流电机的 PWM 控制。 实现霍尔传感器功能:用于速度测量和脉冲计数。 更新 GPIO 初始化:为霍尔传感器添加了外部中断(EXTI)配置。 修改系统时钟配置:改用高速外部时钟(HSE)并调整了锁相环(PLL)设置。 更改定时器配置:将时基生成从 TIM8 改为 TIM4。 增强 FreeRTOS 任务:实现从霍尔传感器周期性读取并更新速度数据。 更新项目配置:以反映外设使用情况和优先级的变更。
36 lines
594 B
C
36 lines
594 B
C
#ifndef __BSP_MOTOR_H
|
|
#define __BSP_MOTOR_H
|
|
|
|
#include "main.h"
|
|
|
|
/**
|
|
* @brief 电机选择枚举
|
|
*/
|
|
typedef enum {
|
|
MOTOR_1 = 0,
|
|
MOTOR_2,
|
|
MOTOR_3,
|
|
MOTOR_4,
|
|
MOTOR_COUNT
|
|
} motor_id_t;
|
|
|
|
/**
|
|
* @brief 电机方向枚举
|
|
*/
|
|
typedef enum {
|
|
MOTOR_FWD = 0, // 正转
|
|
MOTOR_REV, // 反转
|
|
MOTOR_STOP // 停止
|
|
} motor_dir_t;
|
|
|
|
/* 电机初始化 */
|
|
void motor_init(void);
|
|
|
|
/* 设置电机PWM占空比和方向 */
|
|
void motor_set_speed(motor_id_t motor_id, int16_t speed);
|
|
|
|
/* 停止指定电机 */
|
|
void motor_stop(motor_id_t motor_id);
|
|
|
|
#endif /* __BSP_MOTOR_H */
|