board.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #ifndef _BOARD_H
  3. #define _BOARD_H
  4. /* Includes */
  5. #include "main.h"
  6. #include "gpio.h"
  7. /* Type Defs */
  8. /* Exported macros */
  9. /* Constants */
  10. #define USE_SERVO_1 true
  11. //#define USE_SERVO_2 true
  12. /* PWM Timers for 50 Hz */
  13. #define TIM1_PSC (24 - 1)
  14. #define TIM1_ARR (20000 - 1)
  15. #define SERVO_INIT_VAL 2000
  16. #define SERVO_OPEN_VAL 1000
  17. #define TIM3_PSC (24000 - 1)
  18. #define TIM3_ARR (100 - 1)
  19. /* Defines */
  20. #define Select_Pin GPIO_PIN_3
  21. #define Select_Port GPIOA
  22. #define Photo_Pin GPIO_PIN_7
  23. #define Photo_Port GPIOB
  24. #ifdef USE_SERVO_1
  25. #define Servo_1_Pin GPIO_PIN_3
  26. #define Servo_1_Port GPIOB
  27. #define Servo_1_CHNL TIM1->CCR2
  28. #define Servo_1_ON {}
  29. //GPIO_SetPinMode(Servo_1_Port, Servo_1_Pin, GPIO_MODE_AFF)
  30. #define Servo_1_OFF {}
  31. //GPIO_SetPinMode(Servo_1_Port, Servo_1_Pin, GPIO_MODE_IN)
  32. #endif
  33. #ifdef USE_SERVO_2
  34. #define Servo_2_Pin GPIO_PIN_8
  35. #define Servo_2_Port GPIOA
  36. #define Servo_2_CHNL TIM1->CCR1
  37. #define Servo_2_ON {}
  38. //GPIO_SetPinMode(Servo_2_Port, Servo_2_Pin, GPIO_MODE_AFF)
  39. #define Servo_2_OFF {}
  40. //GPIO_SetPinMode(Servo_2_Port, Servo_2_Pin, GPIO_MODE_IN)
  41. #endif
  42. /* Variables */
  43. /* Exported funcions */
  44. void SystemClock_Config(void);
  45. void Board_Init(void);
  46. void delay_ms(uint32_t msek);
  47. void SysTick_Handler(void);
  48. #endif /* _BPARD_H */