Driver.h 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef __Driver_H__
  2. #define __Driver_H__
  3. /*--------------------------------------------------------------------------------------
  4. * @file Driver.h
  5. * @author ZhangJing
  6. * @version base on stm32f0x
  7. * @date 2015.09.11
  8. * @brief 硬件驱动
  9. ---------------------------------------------------------------------------------------*/
  10. #include "stdint.h"
  11. /* the macro definition to trigger the led on or off
  12. * 1 - off
  13. - 0 - on
  14. */
  15. #define DRIVER_ON 1 //打开
  16. #define DRIVER_OFF 0 //关闭
  17. //带参宏,可以像内联函数一样使用
  18. // #define SpeakerCtl(a) if (a) \
  19. // GPIO_SetBits(GPIOB,GPIO_Pin_14);\
  20. // else \
  21. // GPIO_ResetBits(GPIOB,GPIO_Pin_14)
  22. // #define LCDPWRCtl(a) if (a) \
  23. // GPIO_ResetBits(GPIOB,GPIO_Pin_6);\
  24. // else \
  25. // GPIO_SetBits(GPIOB,GPIO_Pin_6)
  26. // #define LCDBLACtl(a) if (a) \
  27. // GPIO_SetBits(GPIOA,GPIO_Pin_11);\
  28. // else \
  29. // GPIO_ResetBits(GPIOA,GPIO_Pin_11)
  30. // #define ZigbeePWRCtl(a) if (a) \
  31. // GPIO_ResetBits(GPIOB,GPIO_Pin_12);\
  32. // else \
  33. // GPIO_SetBits(GPIOB,GPIO_Pin_12)
  34. // #define MotorPWRCtl(a) if (a) \
  35. // GPIO_ResetBits(GPIOB,GPIO_Pin_13);\
  36. // else \
  37. // GPIO_SetBits(GPIOB,GPIO_Pin_13)
  38. #define HALL_GPIO_PORT GPIOA
  39. #define HALL_GPIO_CLK RCC_APB2Periph_GPIOA
  40. #define HALL1_GPIO_PIN GPIO_Pin_1 //HALL1引脚定义
  41. #define HALL1_DETECT_EXTI EXTI_Line1
  42. #define HALL2_GPIO_PIN GPIO_Pin_6 //HALL2引脚定义
  43. #define HALL2_DETECT_EXTI EXTI_Line6
  44. #define KEY_GPIO_PORT GPIOE
  45. #define KEY_GPIO_CLK RCC_APB2Periph_GPIOE
  46. #define PAC_GPIO_PIN GPIO_Pin_8 //PAC引脚定义
  47. #define PAC_DETECT_EXTI EXTI_Line8
  48. #define RUNPAUSE_GPIO_PIN GPIO_Pin_9 //RUN/PAUSE引脚定义
  49. #define RUNPAUSE_DETECT_EXTI EXTI_Line9
  50. #define AIROUT_GPIO_PIN GPIO_Pin_10 //排气静音引脚定义
  51. #define AIROUT_DETECT_EXTI EXTI_Line10
  52. #define MINUS_GPIO_PIN GPIO_Pin_11 //负号引脚定义
  53. #define MINUS_DETECT_EXTI EXTI_Line11
  54. #define PLUS_GPIO_PIN GPIO_Pin_12 //加号引脚定义
  55. #define PLUS_DETECT_EXTI EXTI_Line12
  56. #define PS_GPIO_PIN GPIO_Pin_13 //返回引脚定义
  57. #define PS_DETECT_EXTI EXTI_Line13
  58. #define ENTER_GPIO_PIN GPIO_Pin_14 //ENTER引脚定义
  59. #define ENTER_DETECT_EXTI EXTI_Line14
  60. #define PWR_GPIO_PIN GPIO_Pin_15 //电源引脚定义
  61. #define PWR_DETECT_EXTI EXTI_Line15
  62. #define EXPAC_GPIO_PIN GPIO_Pin_15 //PAC扩展引脚定义
  63. #define EXPAC_DETECT_EXTI EXTI_Line15
  64. #define SpeakerDataGPIOHight GPIO_SetBits(GPIOA, GPIO_Pin_12) //功放模块数据管脚高电平
  65. #define SpeakerDataGPIOLow GPIO_ResetBits(GPIOA, GPIO_Pin_12)//功放模块数据管脚低电平
  66. void HWPowerSaveSetup( uint8_t stopTimer );
  67. // void HWPowerSaveSetup( void );
  68. void HWSetup( void );
  69. void PowerKeySave( void );
  70. void DriverSavePinInit( void );
  71. void SpeakerCtl( uint8_t driverState );
  72. void SensorPWRCtl( uint8_t driverState );
  73. void LCDBLACtl( uint8_t driverState );
  74. void ZigbeePWRCtl( uint8_t driverState );
  75. void MotorPWRCtl( uint8_t driverState );
  76. void SpeakerInit(void);
  77. void SpeakerResetInit(void);
  78. void CntAlarmSpeaker(uint8_t AlarmData); //控制报警声音
  79. void CntOpenHornInit(void);
  80. #endif