mbed library sources. Supersedes mbed-src.

Dependents:   Nucleo_Hello_Encoder BLE_iBeaconScan AM1805_DEMO DISCO-F429ZI_ExportTemplate1 ... more

Committer:
AnnaBridge
Date:
Fri May 26 12:39:01 2017 +0100
Revision:
165:e614a9f1c9e2
Parent:
154:37f96f9d4de2
Child:
187:0387e8f68319
This updates the lib to the mbed lib v 143

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 154:37f96f9d4de2 1 /**
<> 154:37f96f9d4de2 2 ******************************************************************************
<> 154:37f96f9d4de2 3 * @file stm32f1xx_ll_crc.h
<> 154:37f96f9d4de2 4 * @author MCD Application Team
AnnaBridge 165:e614a9f1c9e2 5 * @version V1.1.0
AnnaBridge 165:e614a9f1c9e2 6 * @date 14-April-2017
<> 154:37f96f9d4de2 7 * @brief Header file of CRC LL module.
<> 154:37f96f9d4de2 8 ******************************************************************************
<> 154:37f96f9d4de2 9 * @attention
<> 154:37f96f9d4de2 10 *
<> 154:37f96f9d4de2 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
<> 154:37f96f9d4de2 12 *
<> 154:37f96f9d4de2 13 * Redistribution and use in source and binary forms, with or without modification,
<> 154:37f96f9d4de2 14 * are permitted provided that the following conditions are met:
<> 154:37f96f9d4de2 15 * 1. Redistributions of source code must retain the above copyright notice,
<> 154:37f96f9d4de2 16 * this list of conditions and the following disclaimer.
<> 154:37f96f9d4de2 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
<> 154:37f96f9d4de2 18 * this list of conditions and the following disclaimer in the documentation
<> 154:37f96f9d4de2 19 * and/or other materials provided with the distribution.
<> 154:37f96f9d4de2 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
<> 154:37f96f9d4de2 21 * may be used to endorse or promote products derived from this software
<> 154:37f96f9d4de2 22 * without specific prior written permission.
<> 154:37f96f9d4de2 23 *
<> 154:37f96f9d4de2 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
<> 154:37f96f9d4de2 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
<> 154:37f96f9d4de2 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
<> 154:37f96f9d4de2 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
<> 154:37f96f9d4de2 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
<> 154:37f96f9d4de2 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
<> 154:37f96f9d4de2 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
<> 154:37f96f9d4de2 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
<> 154:37f96f9d4de2 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
<> 154:37f96f9d4de2 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<> 154:37f96f9d4de2 34 *
<> 154:37f96f9d4de2 35 ******************************************************************************
<> 154:37f96f9d4de2 36 */
<> 154:37f96f9d4de2 37
<> 154:37f96f9d4de2 38 /* Define to prevent recursive inclusion -------------------------------------*/
<> 154:37f96f9d4de2 39 #ifndef __STM32F1xx_LL_CRC_H
<> 154:37f96f9d4de2 40 #define __STM32F1xx_LL_CRC_H
<> 154:37f96f9d4de2 41
<> 154:37f96f9d4de2 42 #ifdef __cplusplus
<> 154:37f96f9d4de2 43 extern "C" {
<> 154:37f96f9d4de2 44 #endif
<> 154:37f96f9d4de2 45
<> 154:37f96f9d4de2 46 /* Includes ------------------------------------------------------------------*/
<> 154:37f96f9d4de2 47 #include "stm32f1xx.h"
<> 154:37f96f9d4de2 48
<> 154:37f96f9d4de2 49 /** @addtogroup STM32F1xx_LL_Driver
<> 154:37f96f9d4de2 50 * @{
<> 154:37f96f9d4de2 51 */
<> 154:37f96f9d4de2 52
<> 154:37f96f9d4de2 53 #if defined(CRC)
<> 154:37f96f9d4de2 54
<> 154:37f96f9d4de2 55 /** @defgroup CRC_LL CRC
<> 154:37f96f9d4de2 56 * @{
<> 154:37f96f9d4de2 57 */
<> 154:37f96f9d4de2 58
<> 154:37f96f9d4de2 59 /* Private types -------------------------------------------------------------*/
<> 154:37f96f9d4de2 60 /* Private variables ---------------------------------------------------------*/
<> 154:37f96f9d4de2 61 /* Private constants ---------------------------------------------------------*/
<> 154:37f96f9d4de2 62 /* Private macros ------------------------------------------------------------*/
<> 154:37f96f9d4de2 63
<> 154:37f96f9d4de2 64 /* Exported types ------------------------------------------------------------*/
<> 154:37f96f9d4de2 65 /* Exported constants --------------------------------------------------------*/
<> 154:37f96f9d4de2 66
<> 154:37f96f9d4de2 67 /* Exported macro ------------------------------------------------------------*/
<> 154:37f96f9d4de2 68 /** @defgroup CRC_LL_Exported_Macros CRC Exported Macros
<> 154:37f96f9d4de2 69 * @{
<> 154:37f96f9d4de2 70 */
<> 154:37f96f9d4de2 71
<> 154:37f96f9d4de2 72 /** @defgroup CRC_LL_EM_WRITE_READ Common Write and read registers Macros
<> 154:37f96f9d4de2 73 * @{
<> 154:37f96f9d4de2 74 */
<> 154:37f96f9d4de2 75
<> 154:37f96f9d4de2 76 /**
<> 154:37f96f9d4de2 77 * @brief Write a value in CRC register
<> 154:37f96f9d4de2 78 * @param __INSTANCE__ CRC Instance
<> 154:37f96f9d4de2 79 * @param __REG__ Register to be written
<> 154:37f96f9d4de2 80 * @param __VALUE__ Value to be written in the register
<> 154:37f96f9d4de2 81 * @retval None
<> 154:37f96f9d4de2 82 */
<> 154:37f96f9d4de2 83 #define LL_CRC_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
<> 154:37f96f9d4de2 84
<> 154:37f96f9d4de2 85 /**
<> 154:37f96f9d4de2 86 * @brief Read a value in CRC register
<> 154:37f96f9d4de2 87 * @param __INSTANCE__ CRC Instance
<> 154:37f96f9d4de2 88 * @param __REG__ Register to be read
<> 154:37f96f9d4de2 89 * @retval Register value
<> 154:37f96f9d4de2 90 */
<> 154:37f96f9d4de2 91 #define LL_CRC_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
<> 154:37f96f9d4de2 92 /**
<> 154:37f96f9d4de2 93 * @}
<> 154:37f96f9d4de2 94 */
<> 154:37f96f9d4de2 95
<> 154:37f96f9d4de2 96 /**
<> 154:37f96f9d4de2 97 * @}
<> 154:37f96f9d4de2 98 */
<> 154:37f96f9d4de2 99
<> 154:37f96f9d4de2 100
<> 154:37f96f9d4de2 101 /* Exported functions --------------------------------------------------------*/
<> 154:37f96f9d4de2 102 /** @defgroup CRC_LL_Exported_Functions CRC Exported Functions
<> 154:37f96f9d4de2 103 * @{
<> 154:37f96f9d4de2 104 */
<> 154:37f96f9d4de2 105
<> 154:37f96f9d4de2 106 /** @defgroup CRC_LL_EF_Configuration CRC Configuration functions
<> 154:37f96f9d4de2 107 * @{
<> 154:37f96f9d4de2 108 */
<> 154:37f96f9d4de2 109
<> 154:37f96f9d4de2 110 /**
<> 154:37f96f9d4de2 111 * @brief Reset the CRC calculation unit.
<> 154:37f96f9d4de2 112 * @rmtoll CR RESET LL_CRC_ResetCRCCalculationUnit
<> 154:37f96f9d4de2 113 * @param CRCx CRC Instance
<> 154:37f96f9d4de2 114 * @retval None
<> 154:37f96f9d4de2 115 */
<> 154:37f96f9d4de2 116 __STATIC_INLINE void LL_CRC_ResetCRCCalculationUnit(CRC_TypeDef *CRCx)
<> 154:37f96f9d4de2 117 {
<> 154:37f96f9d4de2 118 WRITE_REG(CRCx->CR, CRC_CR_RESET);
<> 154:37f96f9d4de2 119 }
<> 154:37f96f9d4de2 120
<> 154:37f96f9d4de2 121 /**
<> 154:37f96f9d4de2 122 * @}
<> 154:37f96f9d4de2 123 */
<> 154:37f96f9d4de2 124
<> 154:37f96f9d4de2 125 /** @defgroup CRC_LL_EF_Data_Management Data_Management
<> 154:37f96f9d4de2 126 * @{
<> 154:37f96f9d4de2 127 */
<> 154:37f96f9d4de2 128
<> 154:37f96f9d4de2 129 /**
<> 154:37f96f9d4de2 130 * @brief Write given 32-bit data to the CRC calculator
<> 154:37f96f9d4de2 131 * @rmtoll DR DR LL_CRC_FeedData32
<> 154:37f96f9d4de2 132 * @param CRCx CRC Instance
<> 154:37f96f9d4de2 133 * @param InData value to be provided to CRC calculator between between Min_Data=0 and Max_Data=0xFFFFFFFF
<> 154:37f96f9d4de2 134 * @retval None
<> 154:37f96f9d4de2 135 */
<> 154:37f96f9d4de2 136 __STATIC_INLINE void LL_CRC_FeedData32(CRC_TypeDef *CRCx, uint32_t InData)
<> 154:37f96f9d4de2 137 {
<> 154:37f96f9d4de2 138 WRITE_REG(CRCx->DR, InData);
<> 154:37f96f9d4de2 139 }
<> 154:37f96f9d4de2 140
<> 154:37f96f9d4de2 141 /**
<> 154:37f96f9d4de2 142 * @brief Return current CRC calculation result. 32 bits value is returned.
<> 154:37f96f9d4de2 143 * @rmtoll DR DR LL_CRC_ReadData32
<> 154:37f96f9d4de2 144 * @param CRCx CRC Instance
<> 154:37f96f9d4de2 145 * @retval Current CRC calculation result as stored in CRC_DR register (32 bits).
<> 154:37f96f9d4de2 146 */
<> 154:37f96f9d4de2 147 __STATIC_INLINE uint32_t LL_CRC_ReadData32(CRC_TypeDef *CRCx)
<> 154:37f96f9d4de2 148 {
<> 154:37f96f9d4de2 149 return (uint32_t)(READ_REG(CRCx->DR));
<> 154:37f96f9d4de2 150 }
<> 154:37f96f9d4de2 151
<> 154:37f96f9d4de2 152 /**
<> 154:37f96f9d4de2 153 * @brief Return data stored in the Independent Data(IDR) register.
<> 154:37f96f9d4de2 154 * @note This register can be used as a temporary storage location for one byte.
<> 154:37f96f9d4de2 155 * @rmtoll IDR IDR LL_CRC_Read_IDR
<> 154:37f96f9d4de2 156 * @param CRCx CRC Instance
<> 154:37f96f9d4de2 157 * @retval Value stored in CRC_IDR register (General-purpose 8-bit data register).
<> 154:37f96f9d4de2 158 */
<> 154:37f96f9d4de2 159 __STATIC_INLINE uint32_t LL_CRC_Read_IDR(CRC_TypeDef *CRCx)
<> 154:37f96f9d4de2 160 {
<> 154:37f96f9d4de2 161 return (uint32_t)(READ_REG(CRCx->IDR));
<> 154:37f96f9d4de2 162 }
<> 154:37f96f9d4de2 163
<> 154:37f96f9d4de2 164 /**
<> 154:37f96f9d4de2 165 * @brief Store data in the Independent Data(IDR) register.
<> 154:37f96f9d4de2 166 * @note This register can be used as a temporary storage location for one byte.
<> 154:37f96f9d4de2 167 * @rmtoll IDR IDR LL_CRC_Write_IDR
<> 154:37f96f9d4de2 168 * @param CRCx CRC Instance
<> 154:37f96f9d4de2 169 * @param InData value to be stored in CRC_IDR register (8-bit) between between Min_Data=0 and Max_Data=0xFF
<> 154:37f96f9d4de2 170 * @retval None
<> 154:37f96f9d4de2 171 */
<> 154:37f96f9d4de2 172 __STATIC_INLINE void LL_CRC_Write_IDR(CRC_TypeDef *CRCx, uint32_t InData)
<> 154:37f96f9d4de2 173 {
<> 154:37f96f9d4de2 174 *((uint8_t __IO *)(&CRCx->IDR)) = (uint8_t) InData;
<> 154:37f96f9d4de2 175 }
<> 154:37f96f9d4de2 176 /**
<> 154:37f96f9d4de2 177 * @}
<> 154:37f96f9d4de2 178 */
<> 154:37f96f9d4de2 179
<> 154:37f96f9d4de2 180 #if defined(USE_FULL_LL_DRIVER)
<> 154:37f96f9d4de2 181 /** @defgroup CRC_LL_EF_Init Initialization and de-initialization functions
<> 154:37f96f9d4de2 182 * @{
<> 154:37f96f9d4de2 183 */
<> 154:37f96f9d4de2 184
<> 154:37f96f9d4de2 185 ErrorStatus LL_CRC_DeInit(CRC_TypeDef *CRCx);
<> 154:37f96f9d4de2 186
<> 154:37f96f9d4de2 187 /**
<> 154:37f96f9d4de2 188 * @}
<> 154:37f96f9d4de2 189 */
<> 154:37f96f9d4de2 190 #endif /* USE_FULL_LL_DRIVER */
<> 154:37f96f9d4de2 191
<> 154:37f96f9d4de2 192 /**
<> 154:37f96f9d4de2 193 * @}
<> 154:37f96f9d4de2 194 */
<> 154:37f96f9d4de2 195
<> 154:37f96f9d4de2 196 /**
<> 154:37f96f9d4de2 197 * @}
<> 154:37f96f9d4de2 198 */
<> 154:37f96f9d4de2 199
<> 154:37f96f9d4de2 200 #endif /* defined(CRC) */
<> 154:37f96f9d4de2 201
<> 154:37f96f9d4de2 202 /**
<> 154:37f96f9d4de2 203 * @}
<> 154:37f96f9d4de2 204 */
<> 154:37f96f9d4de2 205
<> 154:37f96f9d4de2 206 #ifdef __cplusplus
<> 154:37f96f9d4de2 207 }
<> 154:37f96f9d4de2 208 #endif
<> 154:37f96f9d4de2 209
<> 154:37f96f9d4de2 210 #endif /* __STM32F1xx_LL_CRC_H */
<> 154:37f96f9d4de2 211
<> 154:37f96f9d4de2 212 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/