tao_z
2021-06-14 b150690b6ebe42a4ffd50278d761b8994121eb94
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef MOTOR_H
#define MOTOR_H
#include ""
/* µç»ú¿ØÐýתʵÏֽṹÌå */
 
#define SPEED_FILTER_NUM 30 // ËÙ¶ÈÂ˲¨´ÎÊý
 
typedef struct
{
    unsigned long timeout;     // ¶¨Ê±Æ÷¸üмÆÊý
    float speed;               // µç»úËÙ¶È rps£¨×ª/·ÖÖÓ£©
    unsigned long enable_flag; // µç»úʹÄܱêÖ¾
    signed int speed_group[SPEED_FILTER_NUM];
} motor_rotate_t;
 
/* ÀۼƠ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 HALL_PRESCALER_COUNT (110)
 
#define HALL_A_EXTI (EXTI_4)
#define HALL_B_EXTI (EXTI_5)
#define HALL_C_EXTI (EXTI_15)
 
extern void HAL_HallExti_TriggerCallback(void);
 
#endif