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:
Kojto
Date:
Tue Feb 14 11:24:20 2017 +0000
Revision:
136:ef9c61f8c49f
Parent:
128:9bcdf88f62b0
Child:
165:d1b4690b3f8b
Release 136 of the mbed library

Ports for Upcoming Targets


Fixes and Changes

3432: Target STM USBHOST support https://github.com/ARMmbed/mbed-os/pull/3432
3181: NUCLEO_F207ZG extending PeripheralPins.c: all available alternate functions can be used now https://github.com/ARMmbed/mbed-os/pull/3181
3626: NUCLEO_F412ZG : Add USB Device +Host https://github.com/ARMmbed/mbed-os/pull/3626
3628: Fix warnings https://github.com/ARMmbed/mbed-os/pull/3628
3629: STM32: L0 LL layer https://github.com/ARMmbed/mbed-os/pull/3629
3632: IDE Export support for platform VK_RZ_A1H https://github.com/ARMmbed/mbed-os/pull/3632
3642: Missing IRQ pin fix for platform VK_RZ_A1H https://github.com/ARMmbed/mbed-os/pull/3642
3664: Fix ncs36510 sleep definitions https://github.com/ARMmbed/mbed-os/pull/3664
3655: [STM32F4] Modify folder structure https://github.com/ARMmbed/mbed-os/pull/3655
3657: [STM32L4] Modify folder structure https://github.com/ARMmbed/mbed-os/pull/3657
3658: [STM32F3] Modify folder structure https://github.com/ARMmbed/mbed-os/pull/3658
3685: STM32: I2C: reset state machine https://github.com/ARMmbed/mbed-os/pull/3685
3692: uVisor: Standardize available legacy heap and stack https://github.com/ARMmbed/mbed-os/pull/3692
3621: Fix for #2884, LPC824: export to LPCXpresso, target running with wron https://github.com/ARMmbed/mbed-os/pull/3621
3649: [STM32F7] Modify folder structure https://github.com/ARMmbed/mbed-os/pull/3649
3695: Enforce device_name is valid in targets.json https://github.com/ARMmbed/mbed-os/pull/3695
3723: NCS36510: spi_format function bug fix https://github.com/ARMmbed/mbed-os/pull/3723

Who changed what in which revision?

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