speed_sensor.h 1.1 KB

123456789101112131415161718192021222324252627
  1. #ifndef __SPEED_SENSOR__H
  2. #define __SPEED_SENSOR__H
  3. #include "stm32f1xx_hal.h"
  4. #define SPEED_SENSOR_Pin GPIO_PIN_2
  5. #define SPEED_SENSOR_GPIO_Port GPIOD
  6. #define SPEED_SENSOR_EXTI_IRQn EXTI2_IRQn
  7. typedef struct
  8. {
  9. uint16_t Speed_Data; //车速,放大100倍
  10. TrueOrFalse_Flag_Struct_t IsStopFlag; //停止标志
  11. TrueOrFalse_Flag_Struct_t IsTrigFlag; //信号触发标志
  12. uint32_t TrigSysTime; //信号触发时刻时钟
  13. uint32_t DiffTime_ms; //两次信号触发间隔时间
  14. uint32_t WheelTurnCount; //车轮圈数
  15. }MC_SpeedSensorData_Struct_t;
  16. extern MC_SpeedSensorData_Struct_t MC_SpeedSensorData;
  17. extern uint16_t MC_Speed_Array[10];
  18. extern void SpeedSensor_GPIO_Init(void);
  19. void SpeedSensor_Process(MC_SpeedSensorData_Struct_t* p_MC_SpeedSensorData, uint16_t* AvgResult, uint8_t WheelSize, uint8_t Poles);
  20. extern void SpeedCal_ByCadence(uint16_t CadenceData, uint16_t* SpeedData, uint8_t T_Front, uint8_t T_Tail, uint16_t WheelSize, uint16_t* BikeSpeed);
  21. extern void SpeedCal_ByCommunication(MC_SpeedSensorData_Struct_t* p_MC_SpeedSensorData, uint16_t* AvgResult, uint8_t WheelSize);
  22. #endif