TUKS MCU Introductory course / TUKS-COURSE-TIMER
Committer:
elmot
Date:
Fri Feb 24 21:13:56 2017 +0000
Revision:
1:d0dfbce63a89
Ready-to-copy

Who changed what in which revision?

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