/* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : main.h * @brief : Header for main.c file. * This file contains the common defines of the application. ****************************************************************************** * @attention * * Copyright (c) 2024 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */ /* USER CODE END Header */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __MAIN_H #define __MAIN_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32f0xx_hal.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ /* USER CODE END Includes */ /* Exported types ------------------------------------------------------------*/ /* USER CODE BEGIN ET */ /* USER CODE END ET */ /* Exported constants --------------------------------------------------------*/ /* USER CODE BEGIN EC */ /* USER CODE END EC */ /* Exported macro ------------------------------------------------------------*/ /* USER CODE BEGIN EM */ /* USER CODE END EM */ /* Exported functions prototypes ---------------------------------------------*/ void Error_Handler(void); /* USER CODE BEGIN EFP */ /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ #define EMEGENCY_KEY_Pin GPIO_PIN_0 #define EMEGENCY_KEY_GPIO_Port GPIOA #define BAT_V_Pin GPIO_PIN_1 #define BAT_V_GPIO_Port GPIOA #define CE_Pin GPIO_PIN_4 #define CE_GPIO_Port GPIOA #define RESET_Pin GPIO_PIN_5 #define RESET_GPIO_Port GPIOA #define BUZZ_Pin GPIO_PIN_6 #define BUZZ_GPIO_Port GPIOA #define CANCEL_Pin GPIO_PIN_7 #define CANCEL_GPIO_Port GPIOA #define CANCEL_EXTI_IRQn EXTI4_15_IRQn #define GLED1_Pin GPIO_PIN_9 #define GLED1_GPIO_Port GPIOA #define RLED2_Pin GPIO_PIN_10 #define RLED2_GPIO_Port GPIOA /* USER CODE BEGIN Private defines */ #define BEEP_ON() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_SET) #define BEEP_OFF() HAL_GPIO_WritePin(BUZZ_GPIO_Port, BUZZ_Pin, GPIO_PIN_RESET) #define LED_GREEN_ON() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_RESET) #define LED_GREEN_OFF() HAL_GPIO_WritePin(GLED1_GPIO_Port, GLED1_Pin, GPIO_PIN_SET) //#define LED_RED_ON() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) //#define LED_RED_OFF() HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) //#define LED_GREEN_ON() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET) //#define LED_GREEN_OFF() HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET) #define LED_RED_ON() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_RESET) #define LED_RED_OFF() HAL_GPIO_WritePin(RLED2_GPIO_Port, RLED2_Pin, GPIO_PIN_SET) #define LED_RED_FLUSH_COUNT 5 #define LED_GREEN_FLUSH_COUNT 5 #define LED_FLUSH_TIME_DELAY 800 #define CE_LEVLE_H() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_SET) #define CE_LEVLE_L() HAL_GPIO_WritePin(CE_GPIO_Port, CE_Pin, GPIO_PIN_RESET) #define RST_LEVLE_H() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET) #define RST_LEVLE_L() HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET) enum KEY_TYPE { VALUE_UNKOWN, VALUE_CALL, //呼叫 VALUE_CANCEL, VALUE_NURSING, //护理 VALUE_CB, //救援 VALUE_UNPIN, //拔针 VALUE_C_D, //换药 VALUE_SOS, //紧??7 VALUE_CANCEL_TO=9, //洗手间取? 9 VALUE_BAT_LOW=0xA, //低电: VALUE_ONLINE_FB=0xB, //在线上报; VALUE_MAX }; #define KEY_EVENT_0 0 #define KEY_EVENT_1 1 #define KEY_EVENT_3 2 #define RX_RE_SEND_CNT 3 typedef struct { UART_HandleTypeDef *uart; DMA_HandleTypeDef *dma; uint8_t *rxbuf; uint16_t rxtotal; uint8_t rxcnt; uint8_t rxoff; }uart_comm; /* USER CODE END Private defines */ #ifdef __cplusplus } #endif #endif /* __MAIN_H */