main.h 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  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 CE_Pin GPIO_PIN_4
  48. #define CE_GPIO_Port GPIOA
  49. #define RESET_Pin GPIO_PIN_5
  50. #define RESET_GPIO_Port GPIOA
  51. #define BUZZ_Pin GPIO_PIN_6
  52. #define BUZZ_GPIO_Port GPIOA
  53. #define HADLE_KEY_Pin GPIO_PIN_0
  54. #define HADLE_KEY_GPIO_Port GPIOB
  55. #define HADLE_KEY_EXTI_IRQn EXTI0_1_IRQn
  56. #define CHANGE_KEY_Pin GPIO_PIN_1
  57. #define CHANGE_KEY_GPIO_Port GPIOB
  58. #define CHANGE_KEY_EXTI_IRQn EXTI0_1_IRQn
  59. #define RF_PWR_Pin GPIO_PIN_8
  60. #define RF_PWR_GPIO_Port GPIOA
  61. #define CANCEL_KEY_Pin GPIO_PIN_9
  62. #define CANCEL_KEY_GPIO_Port GPIOA
  63. #define CANCEL_KEY_EXTI_IRQn EXTI4_15_IRQn
  64. #define CALL_KEY_Pin GPIO_PIN_10
  65. #define CALL_KEY_GPIO_Port GPIOA
  66. #define CALL_KEY_EXTI_IRQn EXTI4_15_IRQn
  67. #define NURSE_KEY_Pin GPIO_PIN_11
  68. #define NURSE_KEY_GPIO_Port GPIOA
  69. #define NURSE_KEY_EXTI_IRQn EXTI4_15_IRQn
  70. #define REINFORCE_KEY_Pin GPIO_PIN_12
  71. #define REINFORCE_KEY_GPIO_Port GPIOA
  72. #define REINFORCE_KEY_EXTI_IRQn EXTI4_15_IRQn
  73. #define KEYEVENT_CANCEL_Pin GPIO_PIN_15
  74. #define KEYEVENT_CANCEL_GPIO_Port GPIOA
  75. #define GLED1_Pin GPIO_PIN_3
  76. #define GLED1_GPIO_Port GPIOB
  77. #define RLED2_Pin GPIO_PIN_4
  78. #define RLED2_GPIO_Port GPIOB
  79. #define STATE_RESET_pin GPIO_PIN_15 //״̬¼Ç¼¸´Î»
  80. #define STATE_RESET_GPIO_Port GPIOA
  81. /* USER CODE BEGIN Private defines */
  82. #define BEEP_ON() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_SET)
  83. #define BEEP_OFF() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_RESET)
  84. #define LED_GREEN_ON() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_RESET)
  85. #define LED_GREEN_OFF() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_SET)
  86. //#define LED_RED_ON() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET)
  87. //#define LED_RED_OFF() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET)
  88. //#define LED_GREEN_ON() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET)
  89. //#define LED_GREEN_OFF() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET)
  90. #define LED_RED_ON() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_RESET)
  91. #define LED_RED_OFF() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_SET)
  92. #define RF_PWR_ON() HAL_GPIO_WritePin(RF_PWR_GPIO_Port, RF_PWR_Pin, GPIO_PIN_SET)
  93. #define RF_PWR_OFF() HAL_GPIO_WritePin(RF_PWR_GPIO_Port, RF_PWR_Pin, GPIO_PIN_RESET)
  94. #define LED_RED_FLUSH_COUNT 5
  95. #define LED_GREEN_FLUSH_COUNT 5
  96. #define LED_FLUSH_TIME_DELAY 800
  97. #define CE_LEVLE_H() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_SET)
  98. #define CE_LEVLE_L() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_RESET)
  99. #define RST_LEVLE_H() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET)
  100. #define RST_LEVLE_L() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET)
  101. #define STATE_REST_H() HAL_GPIO_WritePin(STATE_RESET_GPIO_Port, STATE_RESET_pin, GPIO_PIN_SET)
  102. #define STATE_REST_L() HAL_GPIO_WritePin(STATE_RESET_GPIO_Port, STATE_RESET_pin, GPIO_PIN_RESET)
  103. enum KEY_TYPE {
  104. VALUE_UNKOWN,
  105. VALUE_CALL, //CALL EVENT ON IU
  106. VALUE_CANCEL,
  107. VALUE_NURSING,
  108. VALUE_CB, //REINFORCE
  109. VALUE_UNPIN, //take the needle away, HANDLE + c_d key
  110. VALUE_C_D, //change medica
  111. VALUE_SOS,
  112. VALUE_HANDLE_CALL,//CALL EVENT BY HANDLE
  113. VALUE_CANCEL_TO=9,
  114. VALUE_BAT_LOW=0x1C,
  115. VALUE_ONLINE_FB=0x18,
  116. VALUE_MAX
  117. };
  118. #define KEY_EVENT_0 0
  119. #define KEY_EVENT_1 1
  120. #define KEY_EVENT_3 2
  121. #define RX_RE_SEND_CNT 3
  122. typedef unsigned char U08; /* unsigned 8 bit integer */
  123. typedef unsigned short U16; /* unsigned 16 bit integer */
  124. typedef unsigned int U32; /* unsigned 32 bit integer */
  125. extern const U08 DeviceMacInfo[];
  126. typedef struct {
  127. U16 FJKeymac;
  128. } T_ARM_CFG;
  129. extern T_ARM_CFG gtArm;
  130. typedef struct
  131. {
  132. UART_HandleTypeDef *uart;
  133. DMA_HandleTypeDef *dma;
  134. uint8_t *rxbuf;
  135. uint16_t rxtotal;
  136. uint8_t rxcnt;
  137. uint8_t rxoff;
  138. }uart_comm;
  139. /* USER CODE END Private defines */
  140. #ifdef __cplusplus
  141. }
  142. #endif
  143. #endif /* __MAIN_H */