/** ****************************************************************************** * @file stm32f429i_discovery.h * @author MCD Application Team * @brief This file contains definitions for STM32F429I-Discovery Kit LEDs, * push-buttons hardware resources. ****************************************************************************** * @attention * * Copyright (c) 2017 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. * ****************************************************************************** *//* ... *//* IMPORTANT: One of the following flags must be defined in the preprocessor *//* options in order to select the target board revision: !!!!!!!!!! *//* USE_STM32F429I_DISCO *//* Applicable for all boards except STM32F429I DISCOVERY REVD and above *//* USE_STM32F429I_DISCOVERY_REVD *//* Applicable only for STM32F429I DISCOVERY REVD and above *//* Define to prevent recursive inclusion -------------------------------------*/#ifndef__STM32F429I_DISCOVERY_H#define__STM32F429I_DISCOVERY_H#ifdef__cplusplusextern"C"{#endif/* Includes ------------------------------------------------------------------*/#include"stm32f4xx_hal.h"/** @addtogroup BSP * @{ *//* ... *//** @addtogroup STM32F429I_DISCOVERY * @{ *//* ... *//** @addtogroup STM32F429I_DISCOVERY_LOW_LEVEL * @{ *//* ... *//** @addtogroup STM32F429I_DISCOVERY_LOW_LEVEL_Exported_Types STM32F429I DISCOVERY LOW LEVEL Exported Types * @{ *//* ... */typedefenum{LED3=0,LED4=1...}Led_TypeDef;typedefenum{BUTTON_KEY=0,...}Button_TypeDef;typedefenum{BUTTON_MODE_GPIO=0,BUTTON_MODE_EXTI=1...}ButtonMode_TypeDef;/** * @} *//* ... *//** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_Exported_Constants STM32F429I DISCOVERY LOW LEVEL Exported Constants * @{ *//* ... *//** * @brief Define for STM32F429I_DISCO board *//* ... */#if!defined(USE_STM32F429I_DISCOVERY_REVD)&&\!defined(USE_STM32F429I_DISCO)#defineUSE_STM32F429I_DISCO#endif/** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_LED STM32F429I DISCOVERY LOW LEVEL LED * @{ *//* ... */#defineLEDn2#defineLED3_PINGPIO_PIN_13#defineLED3_GPIO_PORTGPIOG#defineLED3_GPIO_CLK_ENABLE()__HAL_RCC_GPIOG_CLK_ENABLE()#defineLED3_GPIO_CLK_DISABLE()__HAL_RCC_GPIOG_CLK_DISABLE()#defineLED4_PINGPIO_PIN_14#defineLED4_GPIO_PORTGPIOG#defineLED4_GPIO_CLK_ENABLE()__HAL_RCC_GPIOG_CLK_ENABLE()#defineLED4_GPIO_CLK_DISABLE()__HAL_RCC_GPIOG_CLK_DISABLE()#defineLEDx_GPIO_CLK_ENABLE(__INDEX__)do{if((__INDEX__)==0)LED3_GPIO_CLK_ENABLE();else\if((__INDEX__)==1)LED4_GPIO_CLK_ENABLE();\...}while(0)...#defineLEDx_GPIO_CLK_DISABLE(__INDEX__)do{if((__INDEX__)==0)LED3_GPIO_CLK_DISABLE();else\if((__INDEX__)==1)LED4_GPIO_CLK_DISABLE();\...}while(0).../** * @} *//* ... *//** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_BUTTON STM32F429I DISCOVERY LOW LEVEL BUTTON * @{ *//* ... */#defineBUTTONn1/** * @brief Wakeup push-button *//* ... */#defineKEY_BUTTON_PINGPIO_PIN_0#defineKEY_BUTTON_GPIO_PORTGPIOA#defineKEY_BUTTON_GPIO_CLK_ENABLE()__HAL_RCC_GPIOA_CLK_ENABLE()#defineKEY_BUTTON_GPIO_CLK_DISABLE()__HAL_RCC_GPIOA_CLK_DISABLE()#defineKEY_BUTTON_EXTI_IRQnEXTI0_IRQn#defineBUTTONx_GPIO_CLK_ENABLE(__INDEX__)do{if((__INDEX__)==0)KEY_BUTTON_GPIO_CLK_ENABLE();\...}while(0)...#defineBUTTONx_GPIO_CLK_DISABLE(__INDEX__)do{if((__INDEX__)==0)KEY_BUTTON_GPIO_CLK_DISABLE();\...}while(0).../** * @} *//* ... *//** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_BUS STM32F429I DISCOVERY LOW LEVEL BUS * @{ *//* ... *//* Exported constanIO --------------------------------------------------------*/#defineIO_I2C_ADDRESS0x82#defineTS_I2C_ADDRESS0x8221 defines#ifdefEE_M24LR64#defineEEPROM_I2C_ADDRESS_A010xA0#defineEEPROM_I2C_ADDRESS_A020xA6/* ... */#endif/* EE_M24LR64 *//*############################### I2Cx #######################################*//* User can use this section to tailor I2Cx instance used and associated resources *//* ... */#defineDISCOVERY_I2CxI2C3#defineDISCOVERY_I2Cx_CLOCK_ENABLE()__HAL_RCC_I2C3_CLK_ENABLE()#defineDISCOVERY_I2Cx_FORCE_RESET()__HAL_RCC_I2C3_FORCE_RESET()#defineDISCOVERY_I2Cx_RELEASE_RESET()__HAL_RCC_I2C3_RELEASE_RESET()#defineDISCOVERY_I2Cx_SDA_GPIO_CLK_ENABLE()__HAL_RCC_GPIOC_CLK_ENABLE()#defineDISCOVERY_I2Cx_SCL_GPIO_CLK_ENABLE()__HAL_RCC_GPIOA_CLK_ENABLE()#defineDISCOVERY_I2Cx_SDA_GPIO_CLK_DISABLE()__HAL_RCC_GPIOC_CLK_DISABLE()/* Definition for DISCO I2Cx Pins */#defineDISCOVERY_I2Cx_SCL_PINGPIO_PIN_8#defineDISCOVERY_I2Cx_SCL_GPIO_PORTGPIOA#defineDISCOVERY_I2Cx_SCL_SDA_AFGPIO_AF4_I2C3#defineDISCOVERY_I2Cx_SDA_PINGPIO_PIN_9#defineDISCOVERY_I2Cx_SDA_GPIO_PORTGPIOC/* Definition for IOE I2Cx's NVIC */#defineDISCOVERY_I2Cx_EV_IRQnI2C3_EV_IRQn#defineDISCOVERY_I2Cx_ER_IRQnI2C3_ER_IRQn14 defines/* I2C clock speed configuration (in Hz) WARNING: Make sure that this define is not already declared in other files. It can be used in parallel by other modules. *//* ... */#ifndefBSP_I2C_SPEED#defineBSP_I2C_SPEED100000#endif/* BSP_I2C_SPEED */#defineI2Cx_TIMEOUT_MAX0x3000/*<! The value of the maximal timeout for I2C waiting loops *//*############################### SPIx #######################################*/#defineDISCOVERY_SPIxSPI5#defineDISCOVERY_SPIx_CLK_ENABLE()__HAL_RCC_SPI5_CLK_ENABLE()#defineDISCOVERY_SPIx_GPIO_PORTGPIOF/* GPIOF */#defineDISCOVERY_SPIx_AFGPIO_AF5_SPI5#defineDISCOVERY_SPIx_GPIO_CLK_ENABLE()__HAL_RCC_GPIOF_CLK_ENABLE()#defineDISCOVERY_SPIx_GPIO_CLK_DISABLE()__HAL_RCC_GPIOF_CLK_DISABLE()#defineDISCOVERY_SPIx_SCK_PINGPIO_PIN_7/* PF.07 */#defineDISCOVERY_SPIx_MISO_PINGPIO_PIN_8/* PF.08 */#defineDISCOVERY_SPIx_MOSI_PINGPIO_PIN_9/* PF.09 *//* Maximum Timeout values for flags waiting loops. These timeouts are not based on accurate values, they just guarantee that the application will not remain stuck if the SPI communication is corrupted. You may modify these timeout values depending on CPU frequency and application conditions (interrupts routines ...). *//* ... */#defineSPIx_TIMEOUT_MAX((uint32_t)0x1000)/*################################ IOE #######################################*//** * @brief IOE Control pin *//* ... *//* Definition for external IT for STMPE811 */#defineSTMPE811_INT_PINGPIO_PIN_15#defineSTMPE811_INT_GPIO_PORTGPIOA#defineSTMPE811_INT_CLK_ENABLE()__HAL_RCC_GPIOA_CLK_ENABLE()#defineSTMPE811_INT_CLK_DISABLE()__HAL_RCC_GPIOA_CLK_DISABLE()#defineSTMPE811_INT_EXTIEXTI15_10_IRQn#defineSTMPE811_INT_EXTIHandlerEXTI15_10_IRQHandler/*################################ LCD #######################################*//* Chip Select macro definition */#defineLCD_CS_LOW()HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT,LCD_NCS_PIN,GPIO_PIN_RESET)#defineLCD_CS_HIGH()HAL_GPIO_WritePin(LCD_NCS_GPIO_PORT,LCD_NCS_PIN,GPIO_PIN_SET)/* Set WRX High to send data */#defineLCD_WRX_LOW()HAL_GPIO_WritePin(LCD_WRX_GPIO_PORT,LCD_WRX_PIN,GPIO_PIN_RESET)#defineLCD_WRX_HIGH()HAL_GPIO_WritePin(LCD_WRX_GPIO_PORT,LCD_WRX_PIN,GPIO_PIN_SET)/* Set WRX High to send data */#defineLCD_RDX_LOW()HAL_GPIO_WritePin(LCD_RDX_GPIO_PORT,LCD_RDX_PIN,GPIO_PIN_RESET)#defineLCD_RDX_HIGH()HAL_GPIO_WritePin(LCD_RDX_GPIO_PORT,LCD_RDX_PIN,GPIO_PIN_SET)/** * @brief LCD Control pin *//* ... */#defineLCD_NCS_PINGPIO_PIN_2#defineLCD_NCS_GPIO_PORTGPIOC#defineLCD_NCS_GPIO_CLK_ENABLE()__HAL_RCC_GPIOC_CLK_ENABLE()#defineLCD_NCS_GPIO_CLK_DISABLE()__HAL_RCC_GPIOC_CLK_DISABLE()/** * @} *//* ... *//** * @brief LCD Command/data pin *//* ... */#defineLCD_WRX_PINGPIO_PIN_13#defineLCD_WRX_GPIO_PORTGPIOD#defineLCD_WRX_GPIO_CLK_ENABLE()__HAL_RCC_GPIOD_CLK_ENABLE()#defineLCD_WRX_GPIO_CLK_DISABLE()__HAL_RCC_GPIOD_CLK_DISABLE()#defineLCD_RDX_PINGPIO_PIN_12#defineLCD_RDX_GPIO_PORTGPIOD#defineLCD_RDX_GPIO_CLK_ENABLE()__HAL_RCC_GPIOD_CLK_ENABLE()#defineLCD_RDX_GPIO_CLK_DISABLE()__HAL_RCC_GPIOD_CLK_DISABLE()/*################################ GYROSCOPE #################################*//* Read/Write command */#defineREADWRITE_CMD((uint8_t)0x80)/* Multiple byte read/write command */#defineMULTIPLEBYTE_CMD((uint8_t)0x40)/* Dummy Byte Send by the SPI Master device in order to generate the Clock to the Slave device */#defineDUMMY_BYTE((uint8_t)0x00)/* Chip Select macro definition */#defineGYRO_CS_LOW()HAL_GPIO_WritePin(GYRO_CS_GPIO_PORT,GYRO_CS_PIN,GPIO_PIN_RESET)#defineGYRO_CS_HIGH()HAL_GPIO_WritePin(GYRO_CS_GPIO_PORT,GYRO_CS_PIN,GPIO_PIN_SET)/** * @brief GYROSCOPE SPI Interface pins *//* ... */#defineGYRO_CS_PINGPIO_PIN_1/* PC.01 */#defineGYRO_CS_GPIO_PORTGPIOC/* GPIOC */#defineGYRO_CS_GPIO_CLK_ENABLE()__HAL_RCC_GPIOC_CLK_ENABLE()#defineGYRO_CS_GPIO_CLK_DISABLE()__HAL_RCC_GPIOC_CLK_DISABLE()#defineGYRO_INT_GPIO_CLK_ENABLE()__HAL_RCC_GPIOA_CLK_ENABLE()#defineGYRO_INT_GPIO_CLK_DISABLE()__HAL_RCC_GPIOA_CLK_DISABLE()#defineGYRO_INT_GPIO_PORTGPIOA/* GPIOA */#defineGYRO_INT1_PINGPIO_PIN_1/* PA.01 */#defineGYRO_INT1_EXTI_IRQnEXTI1_IRQn#defineGYRO_INT2_PINGPIO_PIN_2/* PA.02 */#defineGYRO_INT2_EXTI_IRQnEXTI2_IRQn51 defines/** * @} *//* ... */#ifdefEE_M24LR64/** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_I2C_EEPROM STM32F429I DISCOVERY LOW LEVEL I2C EEPROM * @{ *//* ... *//** * @brief I2C EEPROM Interface pins *//* ... */#defineEEPROM_I2C_DMADMA1#defineEEPROM_I2C_DMA_CHANNELDMA_CHANNEL_3#defineEEPROM_I2C_DMA_STREAM_TXDMA1_Stream4#defineEEPROM_I2C_DMA_STREAM_RXDMA1_Stream2#defineEEPROM_I2C_DMA_CLK_ENABLE()__HAL_RCC_DMA1_CLK_ENABLE()#defineEEPROM_I2C_DMA_TX_IRQnDMA1_Stream4_IRQn#defineEEPROM_I2C_DMA_RX_IRQnDMA1_Stream2_IRQn#defineEEPROM_I2C_DMA_TX_IRQHandlerDMA1_Stream4_IRQHandler#defineEEPROM_I2C_DMA_RX_IRQHandlerDMA1_Stream2_IRQHandler#defineEEPROM_I2C_DMA_PREPRIO0x0F10 defines/** * @} *//* ... *//* ... */#endif/* EE_M24LR64 *//** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_Exported_Macros STM32F429I DISCOVERY LOW LEVEL Exported Macros * @{ *//* ... *//** * @} *//* ... *//** @defgroup STM32F429I_DISCOVERY_LOW_LEVEL_Exported_Functions STM32F429I DISCOVERY LOW LEVEL Exported Functions * @{ *//* ... */uint32_tBSP_GetVersion(void);voidBSP_LED_Init(Led_TypeDefLed);voidBSP_LED_On(Led_TypeDefLed);voidBSP_LED_Off(Led_TypeDefLed);voidBSP_LED_Toggle(Led_TypeDefLed);voidBSP_PB_Init(Button_TypeDefButton,ButtonMode_TypeDefButtonMode);uint32_tBSP_PB_GetState(Button_TypeDefButton);/** * @} *//* ... *//** * @} *//* ... *//** * @} *//* ... *//** * @} *//* ... */#ifdef__cplusplus}extern "C" { ... }#endif/* ... */#endif/* __STM32F429I_DISCOVERY_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.