hardware.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /*
  2. *********************************************************************************************************
  3. * xmk guide
  4. * huali xmk guide process
  5. *
  6. * (c) Copyright 2016-2020, hualijidian.com
  7. * All Rights Reserved
  8. *
  9. * File : port.h
  10. * By : eric
  11. * Date : 2018年7月10日
  12. * Version : V0.0.1
  13. *********************************************************************************************************
  14. */
  15. #ifndef __HARDWARE_H_
  16. #define __HARDWARE_H_
  17. #include "string.h"
  18. #include "drv_flash.h"
  19. #include "iocfg.h"
  20. #include "env.h"
  21. /*
  22. *********************************************************************************************************
  23. * 日志
  24. *********************************************************************************************************
  25. */
  26. /*
  27. *********************************************************************************************************
  28. * 硬件
  29. *********************************************************************************************************
  30. */
  31. // 判断举升是否在顶端
  32. #define LIFT1_IS_IN_TOP !I.Lft1InTop //顶升的限位
  33. // 判断举升是否在底部
  34. #define LIFT1_IS_IN_BOTTOM !I.Lft1InBottom
  35. #define DIR_LIFT2_IS_IN_FB !I.Lft2InTop //实际使用是常闭的,与逻辑相反
  36. #define DIR_LIFT2_IS_IN_LR !I.Lft2InBottom
  37. #define LIFT1_UP LIFT_V1 = 0;LIFT_V3 = 0;LIFT_V5 = 0;LIFT_V2 = 1;LIFT_V4 = 1;LIFT_V6 = 1;
  38. #define LIFT1_DOWN LIFT_V1 = 0;LIFT_V5 = 0;LIFT_V6 = 0;LIFT_V2 = 1;LIFT_V3 = 1;LIFT_V4 = 1;
  39. #define LIFT1_STOP LIFT_V1 = 1;LIFT_V2 = 1;LIFT_V3 = 1;LIFT_V4 = 1;LIFT_V5 = 1;LIFT_V6 = 1;
  40. #define DIR_LIFT2_UP LIFT_V4 = 0;LIFT_V2 = 0;LIFT_V3 = 0;LIFT_V1 = 1;LIFT_V5 = 1;LIFT_V6 = 1;
  41. #define DIR_LIFT2_DOWN LIFT_V4 = 0;LIFT_V6 = 0;LIFT_V2 = 0;LIFT_V1 = 1;LIFT_V3 = 1;LIFT_V5 = 1;
  42. #define DIR_LIFT2_STOP LIFT_V1 = 1;LIFT_V2 = 1;LIFT_V3 = 1;LIFT_V4 = 1;LIFT_V5 = 1;LIFT_V6 = 1;
  43. #define DEC_PRESS_1 LIFT_V7 = 0;
  44. #define DEC_PRESS_2 LIFT_V8 = 0;
  45. #define DEC_PRESS_STOP LIFT_V7 = 1;LIFT_V8 = 1
  46. #define BTY_AUTO_ON LIFT_V10 = 0
  47. #define BTY_AUTO_OFF LIFT_V10 = 1
  48. #define CARGO_IS_IN_FORWARD_MID !I.Npn8
  49. #define CARGO_IS_IN_BACKWARD_MID !I.Npn7
  50. #define CARGO_IS_IN_FORWARD_STOP !I.Npn10
  51. #define CARGO_IS_IN_BACKWARD_STOP !I.Npn9
  52. #define OBS_FORWARD_EN OBS1_OUT1 = 0;OBS1_OUT2 = 1; OBS2_OUT1 = 1;OBS2_OUT2 = 1
  53. #define OBS_LEFT_EN OBS1_OUT1 = 1;OBS1_OUT2 = 0; OBS2_OUT1 = 1;OBS2_OUT2 = 1
  54. #define OBS_BACKWARD_EN OBS1_OUT1 = 1;OBS1_OUT2 = 1; OBS2_OUT1 = 0;OBS2_OUT2 = 1
  55. #define OBS_RIGHT_EN OBS1_OUT1 = 1;OBS1_OUT2 = 1; OBS2_OUT1 = 1;OBS2_OUT2 = 0
  56. #define OBS_OFF OBS1_OUT1 = 1;OBS1_OUT2 = 1; OBS2_OUT1 = 1;OBS2_OUT2 = 1
  57. #define OBS_ON OBS1_OUT1 = 0;OBS1_OUT2 = 0; OBS2_OUT1 = 0;OBS2_OUT2 = 0
  58. #define LED0_On LED0 = 0
  59. #define LED0_Off LED0 = 1
  60. #define LED0_Toggle LED0 = !LED0
  61. #define Light1_RedOn LED1_V1 = 0
  62. #define Light1_RedOff LED1_V1 = 1
  63. #define Light1_RedToggle LED1_V1 = !LED1_V1
  64. #define Light1_YellowOn LED1_V2 = 0
  65. #define Light1_YellowOff LED1_V2 = 1
  66. #define Light1_YellowToggle LED1_V2 = !LED1_V2
  67. #define Light1_GreenOn LED1_V3 =0
  68. #define Light1_GreenOff LED1_V3 =1
  69. #define Light1_GreenToggle LED1_V3 = !LED1_V3
  70. #define Light2_RedOn LED2_V1 = 0
  71. #define Light2_RedOff LED2_V1 = 1
  72. #define Light2_RedToggle LED2_V1 = !LED2_V1
  73. #define Light2_YellowOn LED2_V2 = 0
  74. #define Light2_YellowOff LED2_V2 = 1
  75. #define Light2_YellowToggle LED2_V2 = !LED2_V2
  76. #define Light2_GreenOn LED2_V3 =0
  77. #define Light2_GreenOff LED2_V3 =1
  78. #define Light2_GreenToggle LED2_V3 = !LED2_V3
  79. #define RS485_ENABLE RS485_TX_EN = 1
  80. #define RS485_DISABLE RS485_TX_EN = 0
  81. /**
  82. * @brief Set motor speed
  83. * @param speed 0~100 percent of speed
  84. * @retval None
  85. * @note �ٶȰٷֱȻ����PWM�ı���,���3000�������������ת�� speed *
  86. * HI_MOTOR_PWM_TIME = 80% PWM ���Ҽ���
  87. */
  88. #define LIFT1_Speed(speed) (TIM4->CCR2 = (speed))
  89. #endif /* __HARDWARE_H_ */