BSP driver for DISCO_L496AG

Dependents:   DISCO_L496AG-LCD-prova_1 DISCO_L496AG-LCD-prova_2 DISCO_L496AG-LCD-demo DISCO_L496AG-SRAM-demo

Committer:
Jerome Coutant
Date:
Wed Nov 20 16:48:24 2019 +0100
Revision:
2:106c7b82e064
Parent:
0:d83f1c8ca282
Update BSP files with CubeL4 V1.14.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:d83f1c8ca282 1 /**
bcostm 0:d83f1c8ca282 2 ******************************************************************************
bcostm 0:d83f1c8ca282 3 * @file stm32l496g_discovery_io.h
bcostm 0:d83f1c8ca282 4 * @author MCD Application Team
bcostm 0:d83f1c8ca282 5 * @brief This file contains the common defines and functions prototypes for
bcostm 0:d83f1c8ca282 6 * the stm32l496g_eval_io.c driver.
bcostm 0:d83f1c8ca282 7 ******************************************************************************
bcostm 0:d83f1c8ca282 8 * @attention
bcostm 0:d83f1c8ca282 9 *
Jerome Coutant 2:106c7b82e064 10 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
Jerome Coutant 2:106c7b82e064 11 * All rights reserved.</center></h2>
bcostm 0:d83f1c8ca282 12 *
Jerome Coutant 2:106c7b82e064 13 * This software component is licensed by ST under BSD 3-Clause license,
Jerome Coutant 2:106c7b82e064 14 * the "License"; You may not use this file except in compliance with the
Jerome Coutant 2:106c7b82e064 15 * License. You may obtain a copy of the License at:
Jerome Coutant 2:106c7b82e064 16 * opensource.org/licenses/BSD-3-Clause
bcostm 0:d83f1c8ca282 17 *
bcostm 0:d83f1c8ca282 18 ******************************************************************************
bcostm 0:d83f1c8ca282 19 */
bcostm 0:d83f1c8ca282 20
bcostm 0:d83f1c8ca282 21 /* Define to prevent recursive inclusion -------------------------------------*/
bcostm 0:d83f1c8ca282 22 #ifndef __STM32L496G_DISCO_IO_H
bcostm 0:d83f1c8ca282 23 #define __STM32L496G_DISCO_IO_H
bcostm 0:d83f1c8ca282 24
bcostm 0:d83f1c8ca282 25 #ifdef __cplusplus
bcostm 0:d83f1c8ca282 26 extern "C" {
bcostm 0:d83f1c8ca282 27 #endif
bcostm 0:d83f1c8ca282 28
bcostm 0:d83f1c8ca282 29 /* Includes ------------------------------------------------------------------*/
bcostm 0:d83f1c8ca282 30 #include "stm32l496g_discovery.h"
bcostm 0:d83f1c8ca282 31 #include "../Components/mfxstm32l152/mfxstm32l152.h"
bcostm 0:d83f1c8ca282 32
bcostm 0:d83f1c8ca282 33 /** @addtogroup BSP
bcostm 0:d83f1c8ca282 34 * @{
bcostm 0:d83f1c8ca282 35 */
bcostm 0:d83f1c8ca282 36
bcostm 0:d83f1c8ca282 37 /** @addtogroup STM32L496G_DISCO
bcostm 0:d83f1c8ca282 38 * @{
bcostm 0:d83f1c8ca282 39 */
bcostm 0:d83f1c8ca282 40
bcostm 0:d83f1c8ca282 41 /** @addtogroup STM32L496G_DISCO_IO
bcostm 0:d83f1c8ca282 42 * @{
bcostm 0:d83f1c8ca282 43 */
bcostm 0:d83f1c8ca282 44
bcostm 0:d83f1c8ca282 45 /* Exported types ------------------------------------------------------------*/
bcostm 0:d83f1c8ca282 46
bcostm 0:d83f1c8ca282 47 /** @defgroup STM32L496G_DISCO_IO_Exported_Types Exported Types
bcostm 0:d83f1c8ca282 48 * @{
bcostm 0:d83f1c8ca282 49 */
bcostm 0:d83f1c8ca282 50 typedef enum
bcostm 0:d83f1c8ca282 51 {
bcostm 0:d83f1c8ca282 52 IO_OK = 0x00,
bcostm 0:d83f1c8ca282 53 IO_ERROR = 0x01,
bcostm 0:d83f1c8ca282 54 IO_TIMEOUT = 0x02,
bcostm 0:d83f1c8ca282 55 IO_ALREADY_INITIALIZED = 0x03
bcostm 0:d83f1c8ca282 56 }
bcostm 0:d83f1c8ca282 57 IO_StatusTypeDef;
bcostm 0:d83f1c8ca282 58
bcostm 0:d83f1c8ca282 59 /**
bcostm 0:d83f1c8ca282 60 * @}
bcostm 0:d83f1c8ca282 61 */
bcostm 0:d83f1c8ca282 62
bcostm 0:d83f1c8ca282 63 /** @defgroup STM32L496G_DISCO_IO_Exported_Constants Exported Constants
bcostm 0:d83f1c8ca282 64 * @{
bcostm 0:d83f1c8ca282 65 */
bcostm 0:d83f1c8ca282 66 /* Virtual pin offset IOExpander1 */
bcostm 0:d83f1c8ca282 67 #define IO1_PIN_OFFSET 0
bcostm 0:d83f1c8ca282 68
bcostm 0:d83f1c8ca282 69
bcostm 0:d83f1c8ca282 70 /* Pins definition IOExpander */
bcostm 0:d83f1c8ca282 71 #define IO1_PIN_0 (uint32_t)(0x00000001 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 72 #define IO1_PIN_1 (uint32_t)(0x00000002 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 73 #define IO1_PIN_2 (uint32_t)(0x00000004 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 74 #define IO1_PIN_3 (uint32_t)(0x00000008 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 75 #define IO1_PIN_4 (uint32_t)(0x00000010 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 76 #define IO1_PIN_5 (uint32_t)(0x00000020 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 77 #define IO1_PIN_6 (uint32_t)(0x00000040 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 78 #define IO1_PIN_7 (uint32_t)(0x00000080 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 79 #define IO1_PIN_8 (uint32_t)(0x00000100 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 80 #define AGPIO_PIN_0 (uint32_t)(0x00010000 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 81 #define AGPIO_PIN_1 (uint32_t)(0x00020000 << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 82
bcostm 0:d83f1c8ca282 83 #define IO1_PIN_ALL (uint32_t)(0x000301FF << IO1_PIN_OFFSET)
bcostm 0:d83f1c8ca282 84
bcostm 0:d83f1c8ca282 85
bcostm 0:d83f1c8ca282 86
bcostm 0:d83f1c8ca282 87
bcostm 0:d83f1c8ca282 88 /**
bcostm 0:d83f1c8ca282 89 * @}
bcostm 0:d83f1c8ca282 90 */
bcostm 0:d83f1c8ca282 91
bcostm 0:d83f1c8ca282 92 /* Exported functions --------------------------------------------------------*/
bcostm 0:d83f1c8ca282 93
bcostm 0:d83f1c8ca282 94 /** @defgroup STM32L496G_DISCO_IO_Exported_Functions Exported Functions
bcostm 0:d83f1c8ca282 95 * @{
bcostm 0:d83f1c8ca282 96 */
bcostm 0:d83f1c8ca282 97
bcostm 0:d83f1c8ca282 98 uint8_t BSP_IO_Init(void);
bcostm 0:d83f1c8ca282 99 void BSP_IO_ITClear(uint32_t IO_Pin);
bcostm 0:d83f1c8ca282 100 uint32_t BSP_IO_ITGetStatus(uint32_t IO_Pin);
bcostm 0:d83f1c8ca282 101 uint8_t BSP_IO_ConfigPin(uint32_t IO_Pin, IO_ModeTypedef IO_Mode);
bcostm 0:d83f1c8ca282 102 void BSP_IO_WritePin(uint32_t IO_Pin, uint8_t PinState);
bcostm 0:d83f1c8ca282 103 uint32_t BSP_IO_ReadPin(uint32_t IO_Pin);
bcostm 0:d83f1c8ca282 104 void BSP_IO_TogglePin(uint32_t IO_Pin);
bcostm 0:d83f1c8ca282 105
bcostm 0:d83f1c8ca282 106 /**
bcostm 0:d83f1c8ca282 107 * @}
bcostm 0:d83f1c8ca282 108 */
bcostm 0:d83f1c8ca282 109
bcostm 0:d83f1c8ca282 110 /**
bcostm 0:d83f1c8ca282 111 * @}
bcostm 0:d83f1c8ca282 112 */
bcostm 0:d83f1c8ca282 113
bcostm 0:d83f1c8ca282 114 /**
bcostm 0:d83f1c8ca282 115 * @}
bcostm 0:d83f1c8ca282 116 */
bcostm 0:d83f1c8ca282 117
bcostm 0:d83f1c8ca282 118 /**
bcostm 0:d83f1c8ca282 119 * @}
bcostm 0:d83f1c8ca282 120 */
bcostm 0:d83f1c8ca282 121
bcostm 0:d83f1c8ca282 122 #ifdef __cplusplus
bcostm 0:d83f1c8ca282 123 }
bcostm 0:d83f1c8ca282 124 #endif
bcostm 0:d83f1c8ca282 125
bcostm 0:d83f1c8ca282 126 #endif /* __STM32L496G_DISCO_IO_H */
bcostm 0:d83f1c8ca282 127
bcostm 0:d83f1c8ca282 128 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/