main.h 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * @file : main.h
  5. * @brief : Header for main.c file.
  6. * This file contains the common defines of the application.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * Copyright (c) 2024 STMicroelectronics.
  11. * All rights reserved.
  12. *
  13. * This software is licensed under terms that can be found in the LICENSE file
  14. * in the root directory of this software component.
  15. * If no LICENSE file comes with this software, it is provided AS-IS.
  16. *
  17. ******************************************************************************
  18. */
  19. /* USER CODE END Header */
  20. /* Define to prevent recursive inclusion -------------------------------------*/
  21. #ifndef __MAIN_H
  22. #define __MAIN_H
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. /* Includes ------------------------------------------------------------------*/
  27. #include "stm32f0xx_hal.h"
  28. /* Private includes ----------------------------------------------------------*/
  29. /* USER CODE BEGIN Includes */
  30. /* USER CODE END Includes */
  31. /* Exported types ------------------------------------------------------------*/
  32. /* USER CODE BEGIN ET */
  33. /* USER CODE END ET */
  34. /* Exported constants --------------------------------------------------------*/
  35. /* USER CODE BEGIN EC */
  36. /* USER CODE END EC */
  37. /* Exported macro ------------------------------------------------------------*/
  38. /* USER CODE BEGIN EM */
  39. /* USER CODE END EM */
  40. /* Exported functions prototypes ---------------------------------------------*/
  41. void Error_Handler(void);
  42. /* USER CODE BEGIN EFP */
  43. /* USER CODE END EFP */
  44. /* Private defines -----------------------------------------------------------*/
  45. #define EMEGENCY_KEY_Pin GPIO_PIN_0
  46. #define EMEGENCY_KEY_GPIO_Port GPIOA
  47. #define BAT_V_Pin GPIO_PIN_1
  48. #define BAT_V_GPIO_Port GPIOA
  49. #define CE_Pin GPIO_PIN_4
  50. #define CE_GPIO_Port GPIOA
  51. #define RESET_Pin GPIO_PIN_5
  52. #define RESET_GPIO_Port GPIOA
  53. #define BUZZ_Pin GPIO_PIN_6
  54. #define BUZZ_GPIO_Port GPIOA
  55. #define CANCEL_Pin GPIO_PIN_7
  56. #define CANCEL_GPIO_Port GPIOA
  57. #define CANCEL_EXTI_IRQn EXTI4_15_IRQn
  58. #define GLED1_Pin GPIO_PIN_9
  59. #define GLED1_GPIO_Port GPIOA
  60. #define RLED2_Pin GPIO_PIN_10
  61. #define RLED2_GPIO_Port GPIOA
  62. /* USER CODE BEGIN Private defines */
  63. #define BEEP_ON() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_SET)
  64. #define BEEP_OFF() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_RESET)
  65. #define LED_GREEN_ON() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_RESET)
  66. #define LED_GREEN_OFF() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_SET)
  67. //#define LED_RED_ON() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET)
  68. //#define LED_RED_OFF() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET)
  69. //#define LED_GREEN_ON() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET)
  70. //#define LED_GREEN_OFF() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET)
  71. #define LED_RED_ON() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_RESET)
  72. #define LED_RED_OFF() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_SET)
  73. #define LED_RED_FLUSH_COUNT 5
  74. #define LED_GREEN_FLUSH_COUNT 5
  75. #define LED_FLUSH_TIME_DELAY 800
  76. #define CE_LEVLE_H() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_SET)
  77. #define CE_LEVLE_L() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_RESET)
  78. #define RST_LEVLE_H() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET)
  79. #define RST_LEVLE_L() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET)
  80. enum KEY_TYPE {
  81. VALUE_UNKOWN,
  82. VALUE_CALL, //呼�
  83. VALUE_CANCEL,
  84. VALUE_NURSING, //护�
  85. VALUE_CB, //救�
  86. VALUE_UNPIN, //拔针
  87. VALUE_C_D, //��
  88. VALUE_SOS, //ç´§æ??7
  89. VALUE_CANCEL_TO=9, //洗手间�� 9
  90. VALUE_BAT_LOW=0xA, //低电:
  91. VALUE_ONLINE_FB=0xB, //在线上报;
  92. VALUE_MAX
  93. };
  94. #define KEY_EVENT_0 0
  95. #define KEY_EVENT_1 1
  96. #define KEY_EVENT_3 2
  97. #define RX_RE_SEND_CNT 3
  98. typedef struct
  99. {
  100. UART_HandleTypeDef *uart;
  101. DMA_HandleTypeDef *dma;
  102. uint8_t *rxbuf;
  103. uint16_t rxtotal;
  104. uint8_t rxcnt;
  105. uint8_t rxoff;
  106. }uart_comm;
  107. /* USER CODE END Private defines */
  108. #ifdef __cplusplus
  109. }
  110. #endif
  111. #endif /* __MAIN_H */