#ifndef __CADENCE_SENSOR_H #define __CADENCE_SENSOR_H #include "stm32f1xx_hal.h" #define CADENCE_1_Pin GPIO_PIN_3 #define CADENCE_1_GPIO_Port GPIOB #define CADENCE_2_Pin GPIO_PIN_15 #define CADENCE_2_GPIO_Port GPIOA typedef enum { MC_Cadence_Forward = 0x00, MC_Cadence_Backward = 0x01, MC_Cadence_Stop = 0x02 }MC_CadenceDir_Struct_t; //̤Ƶ¼ì²â½á¹û typedef struct { uint8_t Cadence_Data; //̤Ƶֵ MC_CadenceDir_Struct_t Cadence_Dir; //̤Ƶ·½Ïò TrueOrFalse_Flag_Struct_t IsStopFlag; //̤Ƶֹͣ±êÖ¾ uint32_t TrigCount; //ÕýÏò²È̤ÐźżÆÊý }MC_CadenceResult_Struct_t; //̤Ƶ´«¸ÐÆ÷Êä³ö״̬ typedef struct { uint8_t HallGropuStatus; uint8_t HallGropuStatus_Old; }MC_CadenceSensorStatus_Struct_t; extern const uint8_t ForwardDir_EncoderData[4]; extern const uint8_t BackwardDir_EncoderData[4]; //̤ƵֵÂ˲¨»º´æ extern MC_CadenceResult_Struct_t MC_CadenceResult; extern uint16_t MC_Cadence_Array[10]; extern uint16_t torqueByCadence_180; extern uint8_t Cadence_ReadHallState(void); extern void CadenceSensor_GPIO_Init(void); extern void CadenceSensor_Process(MC_CadenceResult_Struct_t* p_MC_CadenceResult, uint16_t StopDelayTime, uint8_t StarCount, TrueOrFalse_Flag_Struct_t UpSlopeFlag); #endif