/** ****************************************************************************** * @file bsp_STM32F405ANC.h * @author * @version V0.1.0 * @date 01-April-2018 * @brief This file contains definitions for ANCHOR hardware resources. * @Hardware DWM1000,RAK411,W5500,RX-8025T,ATMLH732,UART,LED/KEYS ****************************************************************************** * * * * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __BSP_STM32F405ANC_H #define __BSP_STM32F405ANC_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include "stm32f4xx.h" #include "stm32f4xx_hal.h" /** @defgroup STM32F4_BSP Exported bootloader and application addresses! * @ the values in icf files should be same with the values here!! */ #define IAP_ADDRESS 0x08000000 #define APP_ADDRESS 0x08010000 #define STACK_MASK 0x2FFC0000 #define MEM_RAM_BASE 0x20000000 /*############################### GPIO #######################################*/ #if defined(HAL_GPIO_MODULE_ENABLED) /** LED **/ #define LED_UWB_PIN GPIO_PIN_10 #define LED_UWB_GPIO_PORT GPIOA #define LED_UWB_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define LED_UWB_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() #define LED_COM_PIN GPIO_PIN_9 #define LED_COM_GPIO_PORT GPIOA #define LED_COM_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define LED_COM_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() #define LED_BAT_PIN GPIO_PIN_8 #define LED_BAT_GPIO_PORT GPIOA #define LED_BAT_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define LED_BAT_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() #define LED_RUN_PIN GPIO_PIN_9 #define LED_RUN_GPIO_PORT GPIOC #define LED_RUN_GPIO_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() #define LED_RUN_GPIO_CLK_DISABLE() __HAL_RCC_GPIOC_CLK_DISABLE() /** BUTTON **/ #define KEY1_BUTTON_PIN GPIO_PIN_9 #define KEY1_BUTTON_GPIO_PORT GPIOB #define KEY1_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define KEY1_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() #define KEY1_BUTTON_EXTI_IRQn EXTI9_5_IRQn #define KEY1_BUTTON_EXTI_IRQn_PRIORITY 1 #define KEY2_BUTTON_PIN GPIO_PIN_8 #define KEY2_BUTTON_GPIO_PORT GPIOB #define KEY2_BUTTON_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() #define KEY2_BUTTON_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE() #define KEY2_BUTTON_EXTI_IRQn EXTI9_5_IRQn #define KEY2_BUTTON_EXTI_IRQn_PRIORITY 1 #define KEY_PRESSED (0) // /** BAT status pin **/ #define BSP_BAT_STATUS_PORT GPIOA #define BSP_BAT_STATUS_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() #define BSP_BAT_STATUS_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE() #define BSP_BAT_STATUS_CHARGING_PIN GPIO_PIN_3 #define BSP_BAT_STATUS_STANDBY_PIN GPIO_PIN_2 #define BSP_BAT_STATUS_SHIFT_COUNT 3 #define BSP_BAT_STATUS_MASK (0x03<