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_NUCLEO_L011K4/TARGET_STM/TARGET_STM32L0/device/stm32l0xx_ll_rng.h@167:84c0a372a020
mbed library. Release version 164

Who changed what in which revision?

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