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:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

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