pos.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. /*
  2. * @Description:
  3. * @Version: 2.0
  4. * @Author: Seven
  5. * @Date: 2022-08-23 17:11:49
  6. * @LastEditors: Seven
  7. * @LastEditTime: 2022-08-23 18:19:48
  8. */
  9. #ifndef __POS_H__
  10. #define __POS_H__
  11. #include "stm32f10x.h"
  12. #include "tools.h"
  13. #define PORT_LED_ON 1 //初始化时打开指示灯
  14. #define PORT_LED_OFF 0 //初始化时不打开指示灯
  15. #define SW_POS1_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_3);}
  16. #define SW_POS1_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_3);}
  17. #define SW_POS2_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_4);}
  18. #define SW_POS2_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_4);}
  19. #define SW_ITSY1_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_5);}
  20. #define SW_ITSY1_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_5);}
  21. #define SW_ITSY2_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_6);}
  22. #define SW_ITSY2_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_6);}
  23. #define YTSF_GPIO_REV2_RESET() {GPIO_ResetBits(GPIOC, GPIO_Pin_0);}
  24. #define YTSF_GPIO_REV2_SET() {GPIO_SetBits(GPIOC, GPIO_Pin_0);}
  25. #define YTSF_GPIO_SET() {GPIO_SetBits(GPIOC, GPIO_Pin_1);}
  26. #define YTSF_GPIO_RST() {GPIO_ResetBits(GPIOC, GPIO_Pin_1);}
  27. #define YTSF_GPIO_DETECT GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2)
  28. #define YTSF_GPIO_EN() {GPIO_ResetBits(GPIOC, GPIO_Pin_3);}
  29. #define YTSF_GPIO_DN() {GPIO_SetBits(GPIOC, GPIO_Pin_3);}
  30. #define POS1_TTL_READ() GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0)
  31. #define POS2_TTL_READ() GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_1)
  32. #define POS1_PRES 1
  33. #define POS2_PRES 2
  34. #define ITSF_PWR_ON() {GPIO_ResetBits(GPIOE, GPIO_Pin_6);}
  35. #define ITSF_PWR_OFF() {GPIO_SetBits(GPIOE, GPIO_Pin_6);}
  36. #define LORA_PWR_ON() {GPIO_ResetBits(GPIOE, GPIO_Pin_7);}
  37. #define LORA_PWR_OFF() {GPIO_SetBits(GPIOE, GPIO_Pin_7);}
  38. #define ITSF_PWR 1
  39. #define LORA_PWR 2
  40. #define ITSF_LORA_PWR 3
  41. #define POS1_TIMEOUT_TIME (1*60*1000) //1min
  42. #define POS2_TIMEOUT_TIME (1*60*1000) //1min
  43. #define POS_SIGNAL_NUM 20 //判断pos口接通需要的信号个数
  44. //pos切换信息
  45. typedef struct _pos_info
  46. {
  47. uint8_t pos1_count;
  48. uint8_t pos2_count;
  49. uint8_t pos1_flag;
  50. uint8_t pos2_flag;
  51. timeout_t pos1_off;
  52. timeout_t pos2_off;
  53. timeout_t pos1_tt;
  54. timeout_t pos2_tt;
  55. }pos_info_t;
  56. extern pos_info_t pos_info;
  57. //pos切换次数存储
  58. typedef struct _pos_change_t
  59. {
  60. uint32_t pos1_num;
  61. uint32_t pos2_num;
  62. }pos_change_t;
  63. extern pos_change_t pos_change;
  64. #define POS_CHANGE_ADDR (64*255) //第256页
  65. void sw_gpio_init(void);
  66. void tax_ch_sw(uint8_t state, uint8_t posnode);
  67. void pos_init(void);
  68. void pos_changle(void);
  69. void tax_sw_reset(uint8_t tax);
  70. void lora_encrypt_power_init(uint8_t state);
  71. void port_init(uint8_t state);
  72. #endif