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 stm32h7xx_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.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef STM32H7xx_LL_RNG_H
AnnaBridge 172:65be27845400 22 #define STM32H7xx_LL_RNG_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_LL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 #if defined (RNG)
AnnaBridge 172:65be27845400 36
AnnaBridge 172:65be27845400 37 /** @defgroup RNG_LL RNG
AnnaBridge 172:65be27845400 38 * @{
AnnaBridge 172:65be27845400 39 */
AnnaBridge 172:65be27845400 40
AnnaBridge 172:65be27845400 41 /* Private types -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 42 /* Private variables ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 43 /* Private constants ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 44 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 45
AnnaBridge 172:65be27845400 46 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 47 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 48 /** @defgroup RNG_LL_ES_Init_Struct RNG Exported Init structures
AnnaBridge 172:65be27845400 49 * @{
AnnaBridge 172:65be27845400 50 */
AnnaBridge 172:65be27845400 51
AnnaBridge 172:65be27845400 52
AnnaBridge 172:65be27845400 53 /**
AnnaBridge 172:65be27845400 54 * @brief LL RNG Init Structure Definition
AnnaBridge 172:65be27845400 55 */
AnnaBridge 172:65be27845400 56 typedef struct
AnnaBridge 172:65be27845400 57 {
AnnaBridge 172:65be27845400 58 uint32_t ClockErrorDetection; /*!< Clock error detection.
AnnaBridge 172:65be27845400 59 This parameter can be one value of @ref RNG_LL_CED.
AnnaBridge 172:65be27845400 60
AnnaBridge 172:65be27845400 61 This parameter can be modified using unitary functions @ref LL_RNG_EnableClkErrorDetect(). */
AnnaBridge 172:65be27845400 62 } LL_RNG_InitTypeDef;
AnnaBridge 172:65be27845400 63
AnnaBridge 172:65be27845400 64 /**
AnnaBridge 172:65be27845400 65 * @}
AnnaBridge 172:65be27845400 66 */
AnnaBridge 172:65be27845400 67 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 68 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 69 /** @defgroup RNG_LL_Exported_Constants RNG Exported Constants
AnnaBridge 172:65be27845400 70 * @{
AnnaBridge 172:65be27845400 71 */
AnnaBridge 172:65be27845400 72
AnnaBridge 172:65be27845400 73 /** @defgroup RNG_LL_CED Clock Error Detection
AnnaBridge 172:65be27845400 74 * @{
AnnaBridge 172:65be27845400 75 */
AnnaBridge 172:65be27845400 76 #define LL_RNG_CED_ENABLE 0x00000000U /*!< Clock error detection enabled */
AnnaBridge 172:65be27845400 77 #define LL_RNG_CED_DISABLE RNG_CR_CED /*!< Clock error detection disabled */
AnnaBridge 172:65be27845400 78 /**
AnnaBridge 172:65be27845400 79 * @}
AnnaBridge 172:65be27845400 80 */
AnnaBridge 172:65be27845400 81
AnnaBridge 172:65be27845400 82 /** @defgroup RNG_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 172:65be27845400 83 * @brief Flags defines which can be used with LL_RNG_ReadReg function
AnnaBridge 172:65be27845400 84 * @{
AnnaBridge 172:65be27845400 85 */
AnnaBridge 172:65be27845400 86 #define LL_RNG_SR_DRDY RNG_SR_DRDY /*!< Register contains valid random data */
AnnaBridge 172:65be27845400 87 #define LL_RNG_SR_CECS RNG_SR_CECS /*!< Clock error current status */
AnnaBridge 172:65be27845400 88 #define LL_RNG_SR_SECS RNG_SR_SECS /*!< Seed error current status */
AnnaBridge 172:65be27845400 89 #define LL_RNG_SR_CEIS RNG_SR_CEIS /*!< Clock error interrupt status */
AnnaBridge 172:65be27845400 90 #define LL_RNG_SR_SEIS RNG_SR_SEIS /*!< Seed error interrupt status */
AnnaBridge 172:65be27845400 91 /**
AnnaBridge 172:65be27845400 92 * @}
AnnaBridge 172:65be27845400 93 */
AnnaBridge 172:65be27845400 94
AnnaBridge 172:65be27845400 95 /** @defgroup RNG_LL_EC_IT IT Defines
AnnaBridge 172:65be27845400 96 * @brief IT defines which can be used with LL_RNG_ReadReg and LL_RNG_WriteReg macros
AnnaBridge 172:65be27845400 97 * @{
AnnaBridge 172:65be27845400 98 */
AnnaBridge 172:65be27845400 99 #define LL_RNG_CR_IE RNG_CR_IE /*!< RNG Interrupt enable */
AnnaBridge 172:65be27845400 100 /**
AnnaBridge 172:65be27845400 101 * @}
AnnaBridge 172:65be27845400 102 */
AnnaBridge 172:65be27845400 103
AnnaBridge 172:65be27845400 104 /**
AnnaBridge 172:65be27845400 105 * @}
AnnaBridge 172:65be27845400 106 */
AnnaBridge 172:65be27845400 107
AnnaBridge 172:65be27845400 108 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 109 /** @defgroup RNG_LL_Exported_Macros RNG Exported Macros
AnnaBridge 172:65be27845400 110 * @{
AnnaBridge 172:65be27845400 111 */
AnnaBridge 172:65be27845400 112
AnnaBridge 172:65be27845400 113 /** @defgroup RNG_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 172:65be27845400 114 * @{
AnnaBridge 172:65be27845400 115 */
AnnaBridge 172:65be27845400 116
AnnaBridge 172:65be27845400 117 /**
AnnaBridge 172:65be27845400 118 * @brief Write a value in RNG register
AnnaBridge 172:65be27845400 119 * @param __INSTANCE__ RNG Instance
AnnaBridge 172:65be27845400 120 * @param __REG__ Register to be written
AnnaBridge 172:65be27845400 121 * @param __VALUE__ Value to be written in the register
AnnaBridge 172:65be27845400 122 * @retval None
AnnaBridge 172:65be27845400 123 */
AnnaBridge 172:65be27845400 124 #define LL_RNG_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 172:65be27845400 125
AnnaBridge 172:65be27845400 126 /**
AnnaBridge 172:65be27845400 127 * @brief Read a value in RNG register
AnnaBridge 172:65be27845400 128 * @param __INSTANCE__ RNG Instance
AnnaBridge 172:65be27845400 129 * @param __REG__ Register to be read
AnnaBridge 172:65be27845400 130 * @retval Register value
AnnaBridge 172:65be27845400 131 */
AnnaBridge 172:65be27845400 132 #define LL_RNG_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 172:65be27845400 133 /**
AnnaBridge 172:65be27845400 134 * @}
AnnaBridge 172:65be27845400 135 */
AnnaBridge 172:65be27845400 136
AnnaBridge 172:65be27845400 137 /**
AnnaBridge 172:65be27845400 138 * @}
AnnaBridge 172:65be27845400 139 */
AnnaBridge 172:65be27845400 140
AnnaBridge 172:65be27845400 141
AnnaBridge 172:65be27845400 142 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 143 /** @defgroup RNG_LL_Exported_Functions RNG Exported Functions
AnnaBridge 172:65be27845400 144 * @{
AnnaBridge 172:65be27845400 145 */
AnnaBridge 172:65be27845400 146 /** @defgroup RNG_LL_EF_Configuration RNG Configuration functions
AnnaBridge 172:65be27845400 147 * @{
AnnaBridge 172:65be27845400 148 */
AnnaBridge 172:65be27845400 149
AnnaBridge 172:65be27845400 150 /**
AnnaBridge 172:65be27845400 151 * @brief Enable Random Number Generation
AnnaBridge 172:65be27845400 152 * @rmtoll CR RNGEN LL_RNG_Enable
AnnaBridge 172:65be27845400 153 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 154 * @retval None
AnnaBridge 172:65be27845400 155 */
AnnaBridge 172:65be27845400 156 __STATIC_INLINE void LL_RNG_Enable(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 157 {
AnnaBridge 172:65be27845400 158 SET_BIT(RNGx->CR, RNG_CR_RNGEN);
AnnaBridge 172:65be27845400 159 }
AnnaBridge 172:65be27845400 160
AnnaBridge 172:65be27845400 161 /**
AnnaBridge 172:65be27845400 162 * @brief Disable Random Number Generation
AnnaBridge 172:65be27845400 163 * @rmtoll CR RNGEN LL_RNG_Disable
AnnaBridge 172:65be27845400 164 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 165 * @retval None
AnnaBridge 172:65be27845400 166 */
AnnaBridge 172:65be27845400 167 __STATIC_INLINE void LL_RNG_Disable(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 168 {
AnnaBridge 172:65be27845400 169 CLEAR_BIT(RNGx->CR, RNG_CR_RNGEN);
AnnaBridge 172:65be27845400 170 }
AnnaBridge 172:65be27845400 171
AnnaBridge 172:65be27845400 172 /**
AnnaBridge 172:65be27845400 173 * @brief Check if Random Number Generator is enabled
AnnaBridge 172:65be27845400 174 * @rmtoll CR RNGEN LL_RNG_IsEnabled
AnnaBridge 172:65be27845400 175 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 176 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 177 */
AnnaBridge 172:65be27845400 178 __STATIC_INLINE uint32_t LL_RNG_IsEnabled(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 179 {
AnnaBridge 172:65be27845400 180 return ((READ_BIT(RNGx->CR, RNG_CR_RNGEN) == (RNG_CR_RNGEN)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 181 }
AnnaBridge 172:65be27845400 182
AnnaBridge 172:65be27845400 183 /**
AnnaBridge 172:65be27845400 184 * @brief Enable Clock Error Detection
AnnaBridge 172:65be27845400 185 * @rmtoll CR CED LL_RNG_EnableClkErrorDetect
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_EnableClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 190 {
AnnaBridge 172:65be27845400 191 CLEAR_BIT(RNGx->CR, RNG_CR_CED);
AnnaBridge 172:65be27845400 192 }
AnnaBridge 172:65be27845400 193
AnnaBridge 172:65be27845400 194 /**
AnnaBridge 172:65be27845400 195 * @brief Disable RNG Clock Error Detection
AnnaBridge 172:65be27845400 196 * @rmtoll CR CED LL_RNG_DisableClkErrorDetect
AnnaBridge 172:65be27845400 197 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 198 * @retval None
AnnaBridge 172:65be27845400 199 */
AnnaBridge 172:65be27845400 200 __STATIC_INLINE void LL_RNG_DisableClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 201 {
AnnaBridge 172:65be27845400 202 SET_BIT(RNGx->CR, RNG_CR_CED);
AnnaBridge 172:65be27845400 203 }
AnnaBridge 172:65be27845400 204
AnnaBridge 172:65be27845400 205 /**
AnnaBridge 172:65be27845400 206 * @brief Check if RNG Clock Error Detection is enabled
AnnaBridge 172:65be27845400 207 * @rmtoll CR CED LL_RNG_IsEnabledClkErrorDetect
AnnaBridge 172:65be27845400 208 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 209 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 210 */
AnnaBridge 172:65be27845400 211 __STATIC_INLINE uint32_t LL_RNG_IsEnabledClkErrorDetect(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 212 {
AnnaBridge 172:65be27845400 213 return ((READ_BIT(RNGx->CR, RNG_CR_CED) != (RNG_CR_CED)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 214 }
AnnaBridge 172:65be27845400 215
AnnaBridge 172:65be27845400 216 /**
AnnaBridge 172:65be27845400 217 * @}
AnnaBridge 172:65be27845400 218 */
AnnaBridge 172:65be27845400 219
AnnaBridge 172:65be27845400 220 /** @defgroup RNG_LL_EF_FLAG_Management FLAG Management
AnnaBridge 172:65be27845400 221 * @{
AnnaBridge 172:65be27845400 222 */
AnnaBridge 172:65be27845400 223
AnnaBridge 172:65be27845400 224 /**
AnnaBridge 172:65be27845400 225 * @brief Indicate if the RNG Data ready Flag is set or not
AnnaBridge 172:65be27845400 226 * @rmtoll SR DRDY LL_RNG_IsActiveFlag_DRDY
AnnaBridge 172:65be27845400 227 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 228 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 229 */
AnnaBridge 172:65be27845400 230 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_DRDY(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 231 {
AnnaBridge 172:65be27845400 232 return ((READ_BIT(RNGx->SR, RNG_SR_DRDY) == (RNG_SR_DRDY)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 233 }
AnnaBridge 172:65be27845400 234
AnnaBridge 172:65be27845400 235 /**
AnnaBridge 172:65be27845400 236 * @brief Indicate if the Clock Error Current Status Flag is set or not
AnnaBridge 172:65be27845400 237 * @rmtoll SR CECS LL_RNG_IsActiveFlag_CECS
AnnaBridge 172:65be27845400 238 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 239 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 240 */
AnnaBridge 172:65be27845400 241 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_CECS(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 242 {
AnnaBridge 172:65be27845400 243 return ((READ_BIT(RNGx->SR, RNG_SR_CECS) == (RNG_SR_CECS)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 244 }
AnnaBridge 172:65be27845400 245
AnnaBridge 172:65be27845400 246 /**
AnnaBridge 172:65be27845400 247 * @brief Indicate if the Seed Error Current Status Flag is set or not
AnnaBridge 172:65be27845400 248 * @rmtoll SR SECS LL_RNG_IsActiveFlag_SECS
AnnaBridge 172:65be27845400 249 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 250 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 251 */
AnnaBridge 172:65be27845400 252 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_SECS(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 253 {
AnnaBridge 172:65be27845400 254 return ((READ_BIT(RNGx->SR, RNG_SR_SECS) == (RNG_SR_SECS)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 255 }
AnnaBridge 172:65be27845400 256
AnnaBridge 172:65be27845400 257 /**
AnnaBridge 172:65be27845400 258 * @brief Indicate if the Clock Error Interrupt Status Flag is set or not
AnnaBridge 172:65be27845400 259 * @rmtoll SR CEIS LL_RNG_IsActiveFlag_CEIS
AnnaBridge 172:65be27845400 260 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 261 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 262 */
AnnaBridge 172:65be27845400 263 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_CEIS(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 264 {
AnnaBridge 172:65be27845400 265 return ((READ_BIT(RNGx->SR, RNG_SR_CEIS) == (RNG_SR_CEIS)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 266 }
AnnaBridge 172:65be27845400 267
AnnaBridge 172:65be27845400 268 /**
AnnaBridge 172:65be27845400 269 * @brief Indicate if the Seed Error Interrupt Status Flag is set or not
AnnaBridge 172:65be27845400 270 * @rmtoll SR SEIS LL_RNG_IsActiveFlag_SEIS
AnnaBridge 172:65be27845400 271 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 272 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 273 */
AnnaBridge 172:65be27845400 274 __STATIC_INLINE uint32_t LL_RNG_IsActiveFlag_SEIS(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 275 {
AnnaBridge 172:65be27845400 276 return ((READ_BIT(RNGx->SR, RNG_SR_SEIS) == (RNG_SR_SEIS)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 277 }
AnnaBridge 172:65be27845400 278
AnnaBridge 172:65be27845400 279 /**
AnnaBridge 172:65be27845400 280 * @brief Clear Clock Error interrupt Status (CEIS) Flag
AnnaBridge 172:65be27845400 281 * @rmtoll SR CEIS LL_RNG_ClearFlag_CEIS
AnnaBridge 172:65be27845400 282 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 283 * @retval None
AnnaBridge 172:65be27845400 284 */
AnnaBridge 172:65be27845400 285 __STATIC_INLINE void LL_RNG_ClearFlag_CEIS(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 286 {
AnnaBridge 172:65be27845400 287 WRITE_REG(RNGx->SR, ~RNG_SR_CEIS);
AnnaBridge 172:65be27845400 288 }
AnnaBridge 172:65be27845400 289
AnnaBridge 172:65be27845400 290 /**
AnnaBridge 172:65be27845400 291 * @brief Clear Seed Error interrupt Status (SEIS) Flag
AnnaBridge 172:65be27845400 292 * @rmtoll SR SEIS LL_RNG_ClearFlag_SEIS
AnnaBridge 172:65be27845400 293 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 294 * @retval None
AnnaBridge 172:65be27845400 295 */
AnnaBridge 172:65be27845400 296 __STATIC_INLINE void LL_RNG_ClearFlag_SEIS(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 297 {
AnnaBridge 172:65be27845400 298 WRITE_REG(RNGx->SR, ~RNG_SR_SEIS);
AnnaBridge 172:65be27845400 299 }
AnnaBridge 172:65be27845400 300
AnnaBridge 172:65be27845400 301 /**
AnnaBridge 172:65be27845400 302 * @}
AnnaBridge 172:65be27845400 303 */
AnnaBridge 172:65be27845400 304
AnnaBridge 172:65be27845400 305 /** @defgroup RNG_LL_EF_IT_Management IT Management
AnnaBridge 172:65be27845400 306 * @{
AnnaBridge 172:65be27845400 307 */
AnnaBridge 172:65be27845400 308
AnnaBridge 172:65be27845400 309 /**
AnnaBridge 172:65be27845400 310 * @brief Enable Random Number Generator Interrupt
AnnaBridge 172:65be27845400 311 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 172:65be27845400 312 * @rmtoll CR IE LL_RNG_EnableIT
AnnaBridge 172:65be27845400 313 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 314 * @retval None
AnnaBridge 172:65be27845400 315 */
AnnaBridge 172:65be27845400 316 __STATIC_INLINE void LL_RNG_EnableIT(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 317 {
AnnaBridge 172:65be27845400 318 SET_BIT(RNGx->CR, RNG_CR_IE);
AnnaBridge 172:65be27845400 319 }
AnnaBridge 172:65be27845400 320
AnnaBridge 172:65be27845400 321 /**
AnnaBridge 172:65be27845400 322 * @brief Disable Random Number Generator Interrupt
AnnaBridge 172:65be27845400 323 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 172:65be27845400 324 * @rmtoll CR IE LL_RNG_DisableIT
AnnaBridge 172:65be27845400 325 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 326 * @retval None
AnnaBridge 172:65be27845400 327 */
AnnaBridge 172:65be27845400 328 __STATIC_INLINE void LL_RNG_DisableIT(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 329 {
AnnaBridge 172:65be27845400 330 CLEAR_BIT(RNGx->CR, RNG_CR_IE);
AnnaBridge 172:65be27845400 331 }
AnnaBridge 172:65be27845400 332
AnnaBridge 172:65be27845400 333 /**
AnnaBridge 172:65be27845400 334 * @brief Check if Random Number Generator Interrupt is enabled
AnnaBridge 172:65be27845400 335 * (applies for either Seed error, Clock Error or Data ready interrupts)
AnnaBridge 172:65be27845400 336 * @rmtoll CR IE LL_RNG_IsEnabledIT
AnnaBridge 172:65be27845400 337 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 338 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 339 */
AnnaBridge 172:65be27845400 340 __STATIC_INLINE uint32_t LL_RNG_IsEnabledIT(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 341 {
AnnaBridge 172:65be27845400 342 return ((READ_BIT(RNGx->CR, RNG_CR_IE) == (RNG_CR_IE)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 343 }
AnnaBridge 172:65be27845400 344
AnnaBridge 172:65be27845400 345 /**
AnnaBridge 172:65be27845400 346 * @}
AnnaBridge 172:65be27845400 347 */
AnnaBridge 172:65be27845400 348
AnnaBridge 172:65be27845400 349 /** @defgroup RNG_LL_EF_Data_Management Data Management
AnnaBridge 172:65be27845400 350 * @{
AnnaBridge 172:65be27845400 351 */
AnnaBridge 172:65be27845400 352
AnnaBridge 172:65be27845400 353 /**
AnnaBridge 172:65be27845400 354 * @brief Return32-bit Random Number value
AnnaBridge 172:65be27845400 355 * @rmtoll DR RNDATA LL_RNG_ReadRandData32
AnnaBridge 172:65be27845400 356 * @param RNGx RNG Instance
AnnaBridge 172:65be27845400 357 * @retval Generated 32-bit random value
AnnaBridge 172:65be27845400 358 */
AnnaBridge 172:65be27845400 359 __STATIC_INLINE uint32_t LL_RNG_ReadRandData32(RNG_TypeDef *RNGx)
AnnaBridge 172:65be27845400 360 {
AnnaBridge 172:65be27845400 361 return (uint32_t)(READ_REG(RNGx->DR));
AnnaBridge 172:65be27845400 362 }
AnnaBridge 172:65be27845400 363
AnnaBridge 172:65be27845400 364 /**
AnnaBridge 172:65be27845400 365 * @}
AnnaBridge 172:65be27845400 366 */
AnnaBridge 172:65be27845400 367
AnnaBridge 172:65be27845400 368 #if defined(USE_FULL_LL_DRIVER)
AnnaBridge 172:65be27845400 369 /** @defgroup RNG_LL_EF_Init Initialization and de-initialization functions
AnnaBridge 172:65be27845400 370 * @{
AnnaBridge 172:65be27845400 371 */
AnnaBridge 172:65be27845400 372 ErrorStatus LL_RNG_Init(RNG_TypeDef *RNGx, LL_RNG_InitTypeDef *RNG_InitStruct);
AnnaBridge 172:65be27845400 373 void LL_RNG_StructInit(LL_RNG_InitTypeDef *RNG_InitStruct);
AnnaBridge 172:65be27845400 374 ErrorStatus LL_RNG_DeInit(RNG_TypeDef *RNGx);
AnnaBridge 172:65be27845400 375
AnnaBridge 172:65be27845400 376 /**
AnnaBridge 172:65be27845400 377 * @}
AnnaBridge 172:65be27845400 378 */
AnnaBridge 172:65be27845400 379 #endif /* USE_FULL_LL_DRIVER */
AnnaBridge 172:65be27845400 380
AnnaBridge 172:65be27845400 381 /**
AnnaBridge 172:65be27845400 382 * @}
AnnaBridge 172:65be27845400 383 */
AnnaBridge 172:65be27845400 384
AnnaBridge 172:65be27845400 385 /**
AnnaBridge 172:65be27845400 386 * @}
AnnaBridge 172:65be27845400 387 */
AnnaBridge 172:65be27845400 388
AnnaBridge 172:65be27845400 389 #endif /* RNG */
AnnaBridge 172:65be27845400 390
AnnaBridge 172:65be27845400 391 /**
AnnaBridge 172:65be27845400 392 * @}
AnnaBridge 172:65be27845400 393 */
AnnaBridge 172:65be27845400 394
AnnaBridge 172:65be27845400 395 #ifdef __cplusplus
AnnaBridge 172:65be27845400 396 }
AnnaBridge 172:65be27845400 397 #endif
AnnaBridge 172:65be27845400 398
AnnaBridge 172:65be27845400 399 #endif /* __STM32H7xx_LL_RNG_H */
AnnaBridge 172:65be27845400 400
AnnaBridge 172:65be27845400 401 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/