The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_DISCO_L496AG/TARGET_STM/TARGET_STM32L4/device/stm32l4xx_ll_rng.h@165:d1b4690b3f8b
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 165:d1b4690b3f8b 1 /**
AnnaBridge 165:d1b4690b3f8b 2 ******************************************************************************
AnnaBridge 165:d1b4690b3f8b 3 * @file stm32l4xx_ll_rng.h
AnnaBridge 165:d1b4690b3f8b 4 * @author MCD Application Team
AnnaBridge 165:d1b4690b3f8b 5 * @brief Header file of RNG LL module.
AnnaBridge 165:d1b4690b3f8b 6 ******************************************************************************
AnnaBridge 165:d1b4690b3f8b 7 * @attention
AnnaBridge 165:d1b4690b3f8b 8 *
AnnaBridge 165:d1b4690b3f8b 9 * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
AnnaBridge 165:d1b4690b3f8b 10 *
AnnaBridge 165:d1b4690b3f8b 11 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 165:d1b4690b3f8b 12 * are permitted provided that the following conditions are met:
AnnaBridge 165:d1b4690b3f8b 13 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 165:d1b4690b3f8b 14 * this list of conditions and the following disclaimer.
AnnaBridge 165:d1b4690b3f8b 15 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 165:d1b4690b3f8b 16 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 165:d1b4690b3f8b 17 * and/or other materials provided with the distribution.
AnnaBridge 165:d1b4690b3f8b 18 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 165:d1b4690b3f8b 19 * may be used to endorse or promote products derived from this software
AnnaBridge 165:d1b4690b3f8b 20 * without specific prior written permission.
AnnaBridge 165:d1b4690b3f8b 21 *
AnnaBridge 165:d1b4690b3f8b 22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 165:d1b4690b3f8b 23 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 165:d1b4690b3f8b 24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 165:d1b4690b3f8b 25 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 165:d1b4690b3f8b 26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 165:d1b4690b3f8b 27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 165:d1b4690b3f8b 28 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 165:d1b4690b3f8b 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 165:d1b4690b3f8b 30 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 165:d1b4690b3f8b 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 165:d1b4690b3f8b 32 *
AnnaBridge 165:d1b4690b3f8b 33 ******************************************************************************
AnnaBridge 165:d1b4690b3f8b 34 */
AnnaBridge 165:d1b4690b3f8b 35
AnnaBridge 165:d1b4690b3f8b 36 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 37 #ifndef __STM32L4xx_LL_RNG_H
AnnaBridge 165:d1b4690b3f8b 38 #define __STM32L4xx_LL_RNG_H
AnnaBridge 165:d1b4690b3f8b 39
AnnaBridge 165:d1b4690b3f8b 40 #ifdef __cplusplus
AnnaBridge 165:d1b4690b3f8b 41 extern "C" {
AnnaBridge 165:d1b4690b3f8b 42 #endif
AnnaBridge 165:d1b4690b3f8b 43
AnnaBridge 165:d1b4690b3f8b 44 /* Includes ------------------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 45 #include "stm32l4xx.h"
AnnaBridge 165:d1b4690b3f8b 46
AnnaBridge 165:d1b4690b3f8b 47 /** @addtogroup STM32L4xx_LL_Driver
AnnaBridge 165:d1b4690b3f8b 48 * @{
AnnaBridge 165:d1b4690b3f8b 49 */
AnnaBridge 165:d1b4690b3f8b 50
AnnaBridge 165:d1b4690b3f8b 51 #if defined(RNG)
AnnaBridge 165:d1b4690b3f8b 52
AnnaBridge 165:d1b4690b3f8b 53 /** @defgroup RNG_LL RNG
AnnaBridge 165:d1b4690b3f8b 54 * @{
AnnaBridge 165:d1b4690b3f8b 55 */
AnnaBridge 165:d1b4690b3f8b 56
AnnaBridge 165:d1b4690b3f8b 57 /* Private types -------------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 58 /* Private variables ---------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 59 /* Private constants ---------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 60 /* Private macros ------------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 61
AnnaBridge 165:d1b4690b3f8b 62 /* Exported types ------------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 63 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 165:d1b4690b3f8b 64 /** @defgroup RNG_LL_ES_Init_Struct RNG Exported Init structures
AnnaBridge 165:d1b4690b3f8b 65 * @{
AnnaBridge 165:d1b4690b3f8b 66 */
AnnaBridge 165:d1b4690b3f8b 67
AnnaBridge 165:d1b4690b3f8b 68
AnnaBridge 165:d1b4690b3f8b 69 #if defined(RNG_CR_CED)
AnnaBridge 165:d1b4690b3f8b 70 /**
AnnaBridge 165:d1b4690b3f8b 71 * @brief LL RNG Init Structure Definition
AnnaBridge 165:d1b4690b3f8b 72 */
AnnaBridge 165:d1b4690b3f8b 73 typedef struct
AnnaBridge 165:d1b4690b3f8b 74 {
AnnaBridge 165:d1b4690b3f8b 75 uint32_t ClockErrorDetection; /*!< Clock error detection.
AnnaBridge 165:d1b4690b3f8b 76 This parameter can be one value of @ref RNG_LL_CED.
AnnaBridge 165:d1b4690b3f8b 77
AnnaBridge 165:d1b4690b3f8b 78 This parameter can be modified using unitary functions @ref LL_RNG_EnableClkErrorDetect(). */
AnnaBridge 165:d1b4690b3f8b 79 }LL_RNG_InitTypeDef;
AnnaBridge 165:d1b4690b3f8b 80 #endif /* defined(RNG_CR_CED) */
AnnaBridge 165:d1b4690b3f8b 81
AnnaBridge 165:d1b4690b3f8b 82 /**
AnnaBridge 165:d1b4690b3f8b 83 * @}
AnnaBridge 165:d1b4690b3f8b 84 */
AnnaBridge 165:d1b4690b3f8b 85 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 165:d1b4690b3f8b 86
AnnaBridge 165:d1b4690b3f8b 87 /* Exported constants --------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 88 /** @defgroup RNG_LL_Exported_Constants RNG Exported Constants
AnnaBridge 165:d1b4690b3f8b 89 * @{
AnnaBridge 165:d1b4690b3f8b 90 */
AnnaBridge 165:d1b4690b3f8b 91
AnnaBridge 165:d1b4690b3f8b 92 #if defined(RNG_CR_CED)
AnnaBridge 165:d1b4690b3f8b 93 /** @defgroup RNG_LL_CED Clock Error Detection
AnnaBridge 165:d1b4690b3f8b 94 * @{
AnnaBridge 165:d1b4690b3f8b 95 */
AnnaBridge 165:d1b4690b3f8b 96 #define LL_RNG_CED_ENABLE 0x00000000U /*!< Clock error detection enabled */
AnnaBridge 165:d1b4690b3f8b 97 #define LL_RNG_CED_DISABLE RNG_CR_CED /*!< Clock error detection disabled */
AnnaBridge 165:d1b4690b3f8b 98 /**
AnnaBridge 165:d1b4690b3f8b 99 * @}
AnnaBridge 165:d1b4690b3f8b 100 */
AnnaBridge 165:d1b4690b3f8b 101 #endif /* defined(RNG_CR_CED) */
AnnaBridge 165:d1b4690b3f8b 102
AnnaBridge 165:d1b4690b3f8b 103
AnnaBridge 165:d1b4690b3f8b 104 /** @defgroup RNG_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 165:d1b4690b3f8b 105 * @brief Flags defines which can be used with LL_RNG_ReadReg function
AnnaBridge 165:d1b4690b3f8b 106 * @{
AnnaBridge 165:d1b4690b3f8b 107 */
AnnaBridge 165:d1b4690b3f8b 108 #define LL_RNG_SR_DRDY RNG_SR_DRDY /*!< Register contains valid random data */
AnnaBridge 165:d1b4690b3f8b 109 #define LL_RNG_SR_CECS RNG_SR_CECS /*!< Clock error current status */
AnnaBridge 165:d1b4690b3f8b 110 #define LL_RNG_SR_SECS RNG_SR_SECS /*!< Seed error current status */
AnnaBridge 165:d1b4690b3f8b 111 #define LL_RNG_SR_CEIS RNG_SR_CEIS /*!< Clock error interrupt status */
AnnaBridge 165:d1b4690b3f8b 112 #define LL_RNG_SR_SEIS RNG_SR_SEIS /*!< Seed error interrupt status */
AnnaBridge 165:d1b4690b3f8b 113 /**
AnnaBridge 165:d1b4690b3f8b 114 * @}
AnnaBridge 165:d1b4690b3f8b 115 */
AnnaBridge 165:d1b4690b3f8b 116
AnnaBridge 165:d1b4690b3f8b 117 /** @defgroup RNG_LL_EC_IT IT Defines
AnnaBridge 165:d1b4690b3f8b 118 * @brief IT defines which can be used with LL_RNG_ReadReg and LL_RNG_WriteReg macros
AnnaBridge 165:d1b4690b3f8b 119 * @{
AnnaBridge 165:d1b4690b3f8b 120 */
AnnaBridge 165:d1b4690b3f8b 121 #define LL_RNG_CR_IE RNG_CR_IE /*!< RNG Interrupt enable */
AnnaBridge 165:d1b4690b3f8b 122 /**
AnnaBridge 165:d1b4690b3f8b 123 * @}
AnnaBridge 165:d1b4690b3f8b 124 */
AnnaBridge 165:d1b4690b3f8b 125
AnnaBridge 165:d1b4690b3f8b 126 /**
AnnaBridge 165:d1b4690b3f8b 127 * @}
AnnaBridge 165:d1b4690b3f8b 128 */
AnnaBridge 165:d1b4690b3f8b 129
AnnaBridge 165:d1b4690b3f8b 130 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 131 /** @defgroup RNG_LL_Exported_Macros RNG Exported Macros
AnnaBridge 165:d1b4690b3f8b 132 * @{
AnnaBridge 165:d1b4690b3f8b 133 */
AnnaBridge 165:d1b4690b3f8b 134
AnnaBridge 165:d1b4690b3f8b 135 /** @defgroup RNG_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 165:d1b4690b3f8b 136 * @{
AnnaBridge 165:d1b4690b3f8b 137 */
AnnaBridge 165:d1b4690b3f8b 138
AnnaBridge 165:d1b4690b3f8b 139 /**
AnnaBridge 165:d1b4690b3f8b 140 * @brief Write a value in RNG register
AnnaBridge 165:d1b4690b3f8b 141 * @param __INSTANCE__ RNG Instance
AnnaBridge 165:d1b4690b3f8b 142 * @param __REG__ Register to be written
AnnaBridge 165:d1b4690b3f8b 143 * @param __VALUE__ Value to be written in the register
AnnaBridge 165:d1b4690b3f8b 144 * @retval None
AnnaBridge 165:d1b4690b3f8b 145 */
AnnaBridge 165:d1b4690b3f8b 146 #define LL_RNG_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 165:d1b4690b3f8b 147
AnnaBridge 165:d1b4690b3f8b 148 /**
AnnaBridge 165:d1b4690b3f8b 149 * @brief Read a value in RNG register
AnnaBridge 165:d1b4690b3f8b 150 * @param __INSTANCE__ RNG Instance
AnnaBridge 165:d1b4690b3f8b 151 * @param __REG__ Register to be read
AnnaBridge 165:d1b4690b3f8b 152 * @retval Register value
AnnaBridge 165:d1b4690b3f8b 153 */
AnnaBridge 165:d1b4690b3f8b 154 #define LL_RNG_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 165:d1b4690b3f8b 155 /**
AnnaBridge 165:d1b4690b3f8b 156 * @}
AnnaBridge 165:d1b4690b3f8b 157 */
AnnaBridge 165:d1b4690b3f8b 158
AnnaBridge 165:d1b4690b3f8b 159 /**
AnnaBridge 165:d1b4690b3f8b 160 * @}
AnnaBridge 165:d1b4690b3f8b 161 */
AnnaBridge 165:d1b4690b3f8b 162
AnnaBridge 165:d1b4690b3f8b 163
AnnaBridge 165:d1b4690b3f8b 164 /* Exported functions --------------------------------------------------------*/
AnnaBridge 165:d1b4690b3f8b 165 /** @defgroup RNG_LL_Exported_Functions RNG Exported Functions
AnnaBridge 165:d1b4690b3f8b 166 * @{
AnnaBridge 165:d1b4690b3f8b 167 */
AnnaBridge 165:d1b4690b3f8b 168 /** @defgroup RNG_LL_EF_Configuration RNG Configuration functions
AnnaBridge 165:d1b4690b3f8b 169 * @{
AnnaBridge 165:d1b4690b3f8b 170 */
AnnaBridge 165:d1b4690b3f8b 171
AnnaBridge 165:d1b4690b3f8b 172 /**
AnnaBridge 165:d1b4690b3f8b 173 * @brief Enable Random Number Generation
AnnaBridge 165:d1b4690b3f8b 174 * @rmtoll CR RNGEN LL_RNG_Enable
AnnaBridge 165:d1b4690b3f8b 175 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 176 * @retval None
AnnaBridge 165:d1b4690b3f8b 177 */
AnnaBridge 165:d1b4690b3f8b 178 __STATIC_INLINE void LL_RNG_Enable(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 179 {
AnnaBridge 165:d1b4690b3f8b 180 SET_BIT(RNGx->CR, RNG_CR_RNGEN);
AnnaBridge 165:d1b4690b3f8b 181 }
AnnaBridge 165:d1b4690b3f8b 182
AnnaBridge 165:d1b4690b3f8b 183 /**
AnnaBridge 165:d1b4690b3f8b 184 * @brief Disable Random Number Generation
AnnaBridge 165:d1b4690b3f8b 185 * @rmtoll CR RNGEN LL_RNG_Disable
AnnaBridge 165:d1b4690b3f8b 186 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 187 * @retval None
AnnaBridge 165:d1b4690b3f8b 188 */
AnnaBridge 165:d1b4690b3f8b 189 __STATIC_INLINE void LL_RNG_Disable(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 190 {
AnnaBridge 165:d1b4690b3f8b 191 CLEAR_BIT(RNGx->CR, RNG_CR_RNGEN);
AnnaBridge 165:d1b4690b3f8b 192 }
AnnaBridge 165:d1b4690b3f8b 193
AnnaBridge 165:d1b4690b3f8b 194 /**
AnnaBridge 165:d1b4690b3f8b 195 * @brief Check if Random Number Generator is enabled
AnnaBridge 165:d1b4690b3f8b 196 * @rmtoll CR RNGEN LL_RNG_IsEnabled
AnnaBridge 165:d1b4690b3f8b 197 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 198 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 199 */
AnnaBridge 165:d1b4690b3f8b 200 __STATIC_INLINE uint32_t LL_RNG_IsEnabled(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 201 {
AnnaBridge 165:d1b4690b3f8b 202 return (READ_BIT(RNGx->CR, RNG_CR_RNGEN) == (RNG_CR_RNGEN));
AnnaBridge 165:d1b4690b3f8b 203 }
AnnaBridge 165:d1b4690b3f8b 204
AnnaBridge 165:d1b4690b3f8b 205 #if defined(RNG_CR_CED)
AnnaBridge 165:d1b4690b3f8b 206 /**
AnnaBridge 165:d1b4690b3f8b 207 * @brief Enable RNG Clock Error Detection
AnnaBridge 165:d1b4690b3f8b 208 * @rmtoll CR CED LL_RNG_EnableClkErrorDetect
AnnaBridge 165:d1b4690b3f8b 209 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 210 * @retval None
AnnaBridge 165:d1b4690b3f8b 211 */
AnnaBridge 165:d1b4690b3f8b 212 __STATIC_INLINE void LL_RNG_EnableClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 213 {
AnnaBridge 165:d1b4690b3f8b 214 CLEAR_BIT(RNGx->CR, RNG_CR_CED);
AnnaBridge 165:d1b4690b3f8b 215 }
AnnaBridge 165:d1b4690b3f8b 216
AnnaBridge 165:d1b4690b3f8b 217 /**
AnnaBridge 165:d1b4690b3f8b 218 * @brief Disable RNG Clock Error Detection
AnnaBridge 165:d1b4690b3f8b 219 * @rmtoll CR CED LL_RNG_DisableClkErrorDetect
AnnaBridge 165:d1b4690b3f8b 220 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 221 * @retval None
AnnaBridge 165:d1b4690b3f8b 222 */
AnnaBridge 165:d1b4690b3f8b 223 __STATIC_INLINE void LL_RNG_DisableClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 224 {
AnnaBridge 165:d1b4690b3f8b 225 SET_BIT(RNGx->CR, RNG_CR_CED);
AnnaBridge 165:d1b4690b3f8b 226 }
AnnaBridge 165:d1b4690b3f8b 227
AnnaBridge 165:d1b4690b3f8b 228 /**
AnnaBridge 165:d1b4690b3f8b 229 * @brief Check if RNG Clock Error Detection is enabled
AnnaBridge 165:d1b4690b3f8b 230 * @rmtoll CR CED LL_RNG_IsEnabledClkErrorDetect
AnnaBridge 165:d1b4690b3f8b 231 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 232 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 233 */
AnnaBridge 165:d1b4690b3f8b 234 __STATIC_INLINE uint32_t LL_RNG_IsEnabledClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 235 {
AnnaBridge 165:d1b4690b3f8b 236 return (!(READ_BIT(RNGx->CR, RNG_CR_CED) == (RNG_CR_CED)));
AnnaBridge 165:d1b4690b3f8b 237 }
AnnaBridge 165:d1b4690b3f8b 238 #endif /* defined(RNG_CR_CED) */
AnnaBridge 165:d1b4690b3f8b 239
AnnaBridge 165:d1b4690b3f8b 240
AnnaBridge 165:d1b4690b3f8b 241 /**
AnnaBridge 165:d1b4690b3f8b 242 * @}
AnnaBridge 165:d1b4690b3f8b 243 */
AnnaBridge 165:d1b4690b3f8b 244
AnnaBridge 165:d1b4690b3f8b 245 /** @defgroup RNG_LL_EF_FLAG_Management FLAG Management
AnnaBridge 165:d1b4690b3f8b 246 * @{
AnnaBridge 165:d1b4690b3f8b 247 */
AnnaBridge 165:d1b4690b3f8b 248
AnnaBridge 165:d1b4690b3f8b 249 /**
AnnaBridge 165:d1b4690b3f8b 250 * @brief Indicate if the RNG Data ready Flag is set or not
AnnaBridge 165:d1b4690b3f8b 251 * @rmtoll SR DRDY LL_RNG_IsActiveFlag_DRDY
AnnaBridge 165:d1b4690b3f8b 252 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 253 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 254 */
AnnaBridge 165:d1b4690b3f8b 255 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_DRDY(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 256 {
AnnaBridge 165:d1b4690b3f8b 257 return (READ_BIT(RNGx->SR, RNG_SR_DRDY) == (RNG_SR_DRDY));
AnnaBridge 165:d1b4690b3f8b 258 }
AnnaBridge 165:d1b4690b3f8b 259
AnnaBridge 165:d1b4690b3f8b 260 /**
AnnaBridge 165:d1b4690b3f8b 261 * @brief Indicate if the Clock Error Current Status Flag is set or not
AnnaBridge 165:d1b4690b3f8b 262 * @rmtoll SR CECS LL_RNG_IsActiveFlag_CECS
AnnaBridge 165:d1b4690b3f8b 263 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 264 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 265 */
AnnaBridge 165:d1b4690b3f8b 266 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_CECS(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 267 {
AnnaBridge 165:d1b4690b3f8b 268 return (READ_BIT(RNGx->SR, RNG_SR_CECS) == (RNG_SR_CECS));
AnnaBridge 165:d1b4690b3f8b 269 }
AnnaBridge 165:d1b4690b3f8b 270
AnnaBridge 165:d1b4690b3f8b 271 /**
AnnaBridge 165:d1b4690b3f8b 272 * @brief Indicate if the Seed Error Current Status Flag is set or not
AnnaBridge 165:d1b4690b3f8b 273 * @rmtoll SR SECS LL_RNG_IsActiveFlag_SECS
AnnaBridge 165:d1b4690b3f8b 274 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 275 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 276 */
AnnaBridge 165:d1b4690b3f8b 277 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_SECS(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 278 {
AnnaBridge 165:d1b4690b3f8b 279 return (READ_BIT(RNGx->SR, RNG_SR_SECS) == (RNG_SR_SECS));
AnnaBridge 165:d1b4690b3f8b 280 }
AnnaBridge 165:d1b4690b3f8b 281
AnnaBridge 165:d1b4690b3f8b 282 /**
AnnaBridge 165:d1b4690b3f8b 283 * @brief Indicate if the Clock Error Interrupt Status Flag is set or not
AnnaBridge 165:d1b4690b3f8b 284 * @rmtoll SR CEIS LL_RNG_IsActiveFlag_CEIS
AnnaBridge 165:d1b4690b3f8b 285 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 286 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 287 */
AnnaBridge 165:d1b4690b3f8b 288 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_CEIS(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 289 {
AnnaBridge 165:d1b4690b3f8b 290 return (READ_BIT(RNGx->SR, RNG_SR_CEIS) == (RNG_SR_CEIS));
AnnaBridge 165:d1b4690b3f8b 291 }
AnnaBridge 165:d1b4690b3f8b 292
AnnaBridge 165:d1b4690b3f8b 293 /**
AnnaBridge 165:d1b4690b3f8b 294 * @brief Indicate if the Seed Error Interrupt Status Flag is set or not
AnnaBridge 165:d1b4690b3f8b 295 * @rmtoll SR SEIS LL_RNG_IsActiveFlag_SEIS
AnnaBridge 165:d1b4690b3f8b 296 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 297 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 298 */
AnnaBridge 165:d1b4690b3f8b 299 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_SEIS(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 300 {
AnnaBridge 165:d1b4690b3f8b 301 return (READ_BIT(RNGx->SR, RNG_SR_SEIS) == (RNG_SR_SEIS));
AnnaBridge 165:d1b4690b3f8b 302 }
AnnaBridge 165:d1b4690b3f8b 303
AnnaBridge 165:d1b4690b3f8b 304 /**
AnnaBridge 165:d1b4690b3f8b 305 * @brief Clear Clock Error interrupt Status (CEIS) Flag
AnnaBridge 165:d1b4690b3f8b 306 * @rmtoll SR CEIS LL_RNG_ClearFlag_CEIS
AnnaBridge 165:d1b4690b3f8b 307 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 308 * @retval None
AnnaBridge 165:d1b4690b3f8b 309 */
AnnaBridge 165:d1b4690b3f8b 310 __STATIC_INLINE void LL_RNG_ClearFlag_CEIS(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 311 {
AnnaBridge 165:d1b4690b3f8b 312 WRITE_REG(RNGx->SR, ~RNG_SR_CEIS);
AnnaBridge 165:d1b4690b3f8b 313 }
AnnaBridge 165:d1b4690b3f8b 314
AnnaBridge 165:d1b4690b3f8b 315 /**
AnnaBridge 165:d1b4690b3f8b 316 * @brief Clear Seed Error interrupt Status (SEIS) Flag
AnnaBridge 165:d1b4690b3f8b 317 * @rmtoll SR SEIS LL_RNG_ClearFlag_SEIS
AnnaBridge 165:d1b4690b3f8b 318 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 319 * @retval None
AnnaBridge 165:d1b4690b3f8b 320 */
AnnaBridge 165:d1b4690b3f8b 321 __STATIC_INLINE void LL_RNG_ClearFlag_SEIS(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 322 {
AnnaBridge 165:d1b4690b3f8b 323 WRITE_REG(RNGx->SR, ~RNG_SR_SEIS);
AnnaBridge 165:d1b4690b3f8b 324 }
AnnaBridge 165:d1b4690b3f8b 325
AnnaBridge 165:d1b4690b3f8b 326 /**
AnnaBridge 165:d1b4690b3f8b 327 * @}
AnnaBridge 165:d1b4690b3f8b 328 */
AnnaBridge 165:d1b4690b3f8b 329
AnnaBridge 165:d1b4690b3f8b 330 /** @defgroup RNG_LL_EF_IT_Management IT Management
AnnaBridge 165:d1b4690b3f8b 331 * @{
AnnaBridge 165:d1b4690b3f8b 332 */
AnnaBridge 165:d1b4690b3f8b 333
AnnaBridge 165:d1b4690b3f8b 334 /**
AnnaBridge 165:d1b4690b3f8b 335 * @brief Enable Random Number Generator Interrupt
AnnaBridge 165:d1b4690b3f8b 336 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 165:d1b4690b3f8b 337 * @rmtoll CR IE LL_RNG_EnableIT
AnnaBridge 165:d1b4690b3f8b 338 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 339 * @retval None
AnnaBridge 165:d1b4690b3f8b 340 */
AnnaBridge 165:d1b4690b3f8b 341 __STATIC_INLINE void LL_RNG_EnableIT(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 342 {
AnnaBridge 165:d1b4690b3f8b 343 SET_BIT(RNGx->CR, RNG_CR_IE);
AnnaBridge 165:d1b4690b3f8b 344 }
AnnaBridge 165:d1b4690b3f8b 345
AnnaBridge 165:d1b4690b3f8b 346 /**
AnnaBridge 165:d1b4690b3f8b 347 * @brief Disable Random Number Generator Interrupt
AnnaBridge 165:d1b4690b3f8b 348 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 165:d1b4690b3f8b 349 * @rmtoll CR IE LL_RNG_DisableIT
AnnaBridge 165:d1b4690b3f8b 350 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 351 * @retval None
AnnaBridge 165:d1b4690b3f8b 352 */
AnnaBridge 165:d1b4690b3f8b 353 __STATIC_INLINE void LL_RNG_DisableIT(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 354 {
AnnaBridge 165:d1b4690b3f8b 355 CLEAR_BIT(RNGx->CR, RNG_CR_IE);
AnnaBridge 165:d1b4690b3f8b 356 }
AnnaBridge 165:d1b4690b3f8b 357
AnnaBridge 165:d1b4690b3f8b 358 /**
AnnaBridge 165:d1b4690b3f8b 359 * @brief Check if Random Number Generator Interrupt is enabled
AnnaBridge 165:d1b4690b3f8b 360 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 165:d1b4690b3f8b 361 * @rmtoll CR IE LL_RNG_IsEnabledIT
AnnaBridge 165:d1b4690b3f8b 362 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 363 * @retval State of bit (1 or 0).
AnnaBridge 165:d1b4690b3f8b 364 */
AnnaBridge 165:d1b4690b3f8b 365 __STATIC_INLINE uint32_t LL_RNG_IsEnabledIT(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 366 {
AnnaBridge 165:d1b4690b3f8b 367 return (READ_BIT(RNGx->CR, RNG_CR_IE) == (RNG_CR_IE));
AnnaBridge 165:d1b4690b3f8b 368 }
AnnaBridge 165:d1b4690b3f8b 369
AnnaBridge 165:d1b4690b3f8b 370 /**
AnnaBridge 165:d1b4690b3f8b 371 * @}
AnnaBridge 165:d1b4690b3f8b 372 */
AnnaBridge 165:d1b4690b3f8b 373
AnnaBridge 165:d1b4690b3f8b 374 /** @defgroup RNG_LL_EF_Data_Management Data Management
AnnaBridge 165:d1b4690b3f8b 375 * @{
AnnaBridge 165:d1b4690b3f8b 376 */
AnnaBridge 165:d1b4690b3f8b 377
AnnaBridge 165:d1b4690b3f8b 378 /**
AnnaBridge 165:d1b4690b3f8b 379 * @brief Return32-bit Random Number value
AnnaBridge 165:d1b4690b3f8b 380 * @rmtoll DR RNDATA LL_RNG_ReadRandData32
AnnaBridge 165:d1b4690b3f8b 381 * @param RNGx RNG Instance
AnnaBridge 165:d1b4690b3f8b 382 * @retval Generated 32-bit random value
AnnaBridge 165:d1b4690b3f8b 383 */
AnnaBridge 165:d1b4690b3f8b 384 __STATIC_INLINE uint32_t LL_RNG_ReadRandData32(RNG_TypeDef *RNGx)
AnnaBridge 165:d1b4690b3f8b 385 {
AnnaBridge 165:d1b4690b3f8b 386 return (uint32_t)(READ_REG(RNGx->DR));
AnnaBridge 165:d1b4690b3f8b 387 }
AnnaBridge 165:d1b4690b3f8b 388
AnnaBridge 165:d1b4690b3f8b 389 /**
AnnaBridge 165:d1b4690b3f8b 390 * @}
AnnaBridge 165:d1b4690b3f8b 391 */
AnnaBridge 165:d1b4690b3f8b 392
AnnaBridge 165:d1b4690b3f8b 393 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 165:d1b4690b3f8b 394 /** @defgroup RNG_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 165:d1b4690b3f8b 395 * @{
AnnaBridge 165:d1b4690b3f8b 396 */
AnnaBridge 165:d1b4690b3f8b 397 #if defined(RNG_CR_CED)
AnnaBridge 165:d1b4690b3f8b 398 ErrorStatus LL_RNG_Init(RNG_TypeDef *RNGx, LL_RNG_InitTypeDef *RNG_InitStruct);
AnnaBridge 165:d1b4690b3f8b 399 void LL_RNG_StructInit(LL_RNG_InitTypeDef *RNG_InitStruct);
AnnaBridge 165:d1b4690b3f8b 400 #endif /* defined(RNG_CR_CED) */
AnnaBridge 165:d1b4690b3f8b 401 ErrorStatus LL_RNG_DeInit(RNG_TypeDef *RNGx);
AnnaBridge 165:d1b4690b3f8b 402
AnnaBridge 165:d1b4690b3f8b 403 /**
AnnaBridge 165:d1b4690b3f8b 404 * @}
AnnaBridge 165:d1b4690b3f8b 405 */
AnnaBridge 165:d1b4690b3f8b 406 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 165:d1b4690b3f8b 407
AnnaBridge 165:d1b4690b3f8b 408 /**
AnnaBridge 165:d1b4690b3f8b 409 * @}
AnnaBridge 165:d1b4690b3f8b 410 */
AnnaBridge 165:d1b4690b3f8b 411
AnnaBridge 165:d1b4690b3f8b 412 /**
AnnaBridge 165:d1b4690b3f8b 413 * @}
AnnaBridge 165:d1b4690b3f8b 414 */
AnnaBridge 165:d1b4690b3f8b 415
AnnaBridge 165:d1b4690b3f8b 416 #endif /* defined(RNG) */
AnnaBridge 165:d1b4690b3f8b 417
AnnaBridge 165:d1b4690b3f8b 418 /**
AnnaBridge 165:d1b4690b3f8b 419 * @}
AnnaBridge 165:d1b4690b3f8b 420 */
AnnaBridge 165:d1b4690b3f8b 421
AnnaBridge 165:d1b4690b3f8b 422 #ifdef __cplusplus
AnnaBridge 165:d1b4690b3f8b 423 }
AnnaBridge 165:d1b4690b3f8b 424 #endif
AnnaBridge 165:d1b4690b3f8b 425
AnnaBridge 165:d1b4690b3f8b 426 #endif /* __STM32L4xx_LL_RNG_H */
AnnaBridge 165:d1b4690b3f8b 427
AnnaBridge 165:d1b4690b3f8b 428 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/