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
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

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