mbed library sources

Dependents:   frdm_kl05z_gpio_test

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Thu May 22 20:00:09 2014 +0100
Revision:
205:c41fc65bcfb4
Child:
218:44081b78fdc2
Synchronized with git revision ea4b6f76efab17a3f7d7777b0cc1ef05fec6d1cb

Full URL: https://github.com/mbedmicro/mbed/commit/ea4b6f76efab17a3f7d7777b0cc1ef05fec6d1cb/

[NUCLEO_F072RB] cmsis files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 205:c41fc65bcfb4 1 /**
mbed_official 205:c41fc65bcfb4 2 ******************************************************************************
mbed_official 205:c41fc65bcfb4 3 * @file stm32f0xx_hal_crc_ex.h
mbed_official 205:c41fc65bcfb4 4 * @author MCD Application Team
mbed_official 205:c41fc65bcfb4 5 * @version V1.0.0
mbed_official 205:c41fc65bcfb4 6 * @date 20-May-2014
mbed_official 205:c41fc65bcfb4 7 * @brief Header file of CRC HAL extension module.
mbed_official 205:c41fc65bcfb4 8 ******************************************************************************
mbed_official 205:c41fc65bcfb4 9 * @attention
mbed_official 205:c41fc65bcfb4 10 *
mbed_official 205:c41fc65bcfb4 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
mbed_official 205:c41fc65bcfb4 12 *
mbed_official 205:c41fc65bcfb4 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 205:c41fc65bcfb4 14 * are permitted provided that the following conditions are met:
mbed_official 205:c41fc65bcfb4 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 205:c41fc65bcfb4 16 * this list of conditions and the following disclaimer.
mbed_official 205:c41fc65bcfb4 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 205:c41fc65bcfb4 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 205:c41fc65bcfb4 19 * and/or other materials provided with the distribution.
mbed_official 205:c41fc65bcfb4 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 205:c41fc65bcfb4 21 * may be used to endorse or promote products derived from this software
mbed_official 205:c41fc65bcfb4 22 * without specific prior written permission.
mbed_official 205:c41fc65bcfb4 23 *
mbed_official 205:c41fc65bcfb4 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 205:c41fc65bcfb4 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 205:c41fc65bcfb4 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 205:c41fc65bcfb4 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 205:c41fc65bcfb4 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 205:c41fc65bcfb4 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 205:c41fc65bcfb4 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 205:c41fc65bcfb4 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 205:c41fc65bcfb4 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 205:c41fc65bcfb4 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 205:c41fc65bcfb4 34 *
mbed_official 205:c41fc65bcfb4 35 ******************************************************************************
mbed_official 205:c41fc65bcfb4 36 */
mbed_official 205:c41fc65bcfb4 37
mbed_official 205:c41fc65bcfb4 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 205:c41fc65bcfb4 39 #ifndef __STM32F0xx_HAL_CRC_EX_H
mbed_official 205:c41fc65bcfb4 40 #define __STM32F0xx_HAL_CRC_EX_H
mbed_official 205:c41fc65bcfb4 41
mbed_official 205:c41fc65bcfb4 42 #ifdef __cplusplus
mbed_official 205:c41fc65bcfb4 43 extern "C" {
mbed_official 205:c41fc65bcfb4 44 #endif
mbed_official 205:c41fc65bcfb4 45
mbed_official 205:c41fc65bcfb4 46 /* Includes ------------------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 47 #include "stm32f0xx_hal_def.h"
mbed_official 205:c41fc65bcfb4 48
mbed_official 205:c41fc65bcfb4 49 /** @addtogroup STM32F0xx_HAL_Driver
mbed_official 205:c41fc65bcfb4 50 * @{
mbed_official 205:c41fc65bcfb4 51 */
mbed_official 205:c41fc65bcfb4 52
mbed_official 205:c41fc65bcfb4 53 /** @addtogroup CRCEx
mbed_official 205:c41fc65bcfb4 54 * @{
mbed_official 205:c41fc65bcfb4 55 */
mbed_official 205:c41fc65bcfb4 56
mbed_official 205:c41fc65bcfb4 57 /* Exported types ------------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 58 /* Exported constants --------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 59
mbed_official 205:c41fc65bcfb4 60 /** @defgroup CRCEx_Input_Data_Inversion Input Data Inversion Modes
mbed_official 205:c41fc65bcfb4 61 * @{
mbed_official 205:c41fc65bcfb4 62 */
mbed_official 205:c41fc65bcfb4 63 #define CRC_INPUTDATA_INVERSION_NONE ((uint32_t)0x00000000)
mbed_official 205:c41fc65bcfb4 64 #define CRC_INPUTDATA_INVERSION_BYTE ((uint32_t)CRC_CR_REV_IN_0)
mbed_official 205:c41fc65bcfb4 65 #define CRC_INPUTDATA_INVERSION_HALFWORD ((uint32_t)CRC_CR_REV_IN_1)
mbed_official 205:c41fc65bcfb4 66 #define CRC_INPUTDATA_INVERSION_WORD ((uint32_t)CRC_CR_REV_IN)
mbed_official 205:c41fc65bcfb4 67
mbed_official 205:c41fc65bcfb4 68 #define IS_CRC_INPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_INPUTDATA_INVERSION_NONE) || \
mbed_official 205:c41fc65bcfb4 69 ((MODE) == CRC_INPUTDATA_INVERSION_BYTE) || \
mbed_official 205:c41fc65bcfb4 70 ((MODE) == CRC_INPUTDATA_INVERSION_HALFWORD) || \
mbed_official 205:c41fc65bcfb4 71 ((MODE) == CRC_INPUTDATA_INVERSION_WORD))
mbed_official 205:c41fc65bcfb4 72 /**
mbed_official 205:c41fc65bcfb4 73 * @}
mbed_official 205:c41fc65bcfb4 74 */
mbed_official 205:c41fc65bcfb4 75
mbed_official 205:c41fc65bcfb4 76 /** @defgroup CRCEx_Output_Data_Inversion Output Data Inversion Modes
mbed_official 205:c41fc65bcfb4 77 * @{
mbed_official 205:c41fc65bcfb4 78 */
mbed_official 205:c41fc65bcfb4 79 #define CRC_OUTPUTDATA_INVERSION_DISABLED ((uint32_t)0x00000000)
mbed_official 205:c41fc65bcfb4 80 #define CRC_OUTPUTDATA_INVERSION_ENABLED ((uint32_t)CRC_CR_REV_OUT)
mbed_official 205:c41fc65bcfb4 81
mbed_official 205:c41fc65bcfb4 82 #define IS_CRC_OUTPUTDATA_INVERSION_MODE(MODE) (((MODE) == CRC_OUTPUTDATA_INVERSION_DISABLED) || \
mbed_official 205:c41fc65bcfb4 83 ((MODE) == CRC_OUTPUTDATA_INVERSION_ENABLED))
mbed_official 205:c41fc65bcfb4 84 /**
mbed_official 205:c41fc65bcfb4 85 * @}
mbed_official 205:c41fc65bcfb4 86 */
mbed_official 205:c41fc65bcfb4 87
mbed_official 205:c41fc65bcfb4 88 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 205:c41fc65bcfb4 89 /** @defgroup CRCEx_Polynomial_Sizes Polynomial sizes to configure the IP
mbed_official 205:c41fc65bcfb4 90 * @{
mbed_official 205:c41fc65bcfb4 91 */
mbed_official 205:c41fc65bcfb4 92 #define CRC_POLYLENGTH_32B ((uint32_t)0x00000000)
mbed_official 205:c41fc65bcfb4 93 #define CRC_POLYLENGTH_16B ((uint32_t)CRC_CR_POLYSIZE_0)
mbed_official 205:c41fc65bcfb4 94 #define CRC_POLYLENGTH_8B ((uint32_t)CRC_CR_POLYSIZE_1)
mbed_official 205:c41fc65bcfb4 95 #define CRC_POLYLENGTH_7B ((uint32_t)CRC_CR_POLYSIZE)
mbed_official 205:c41fc65bcfb4 96 #define IS_CRC_POL_LENGTH(LENGTH) (((LENGTH) == CRC_POLYLENGTH_32B) || \
mbed_official 205:c41fc65bcfb4 97 ((LENGTH) == CRC_POLYLENGTH_16B) || \
mbed_official 205:c41fc65bcfb4 98 ((LENGTH) == CRC_POLYLENGTH_8B) || \
mbed_official 205:c41fc65bcfb4 99 ((LENGTH) == CRC_POLYLENGTH_7B))
mbed_official 205:c41fc65bcfb4 100 /**
mbed_official 205:c41fc65bcfb4 101 * @}
mbed_official 205:c41fc65bcfb4 102 */
mbed_official 205:c41fc65bcfb4 103
mbed_official 205:c41fc65bcfb4 104 /** @defgroup CRCEx_Polynomial_Size_Definitions CRC polynomial possible sizes actual definitions
mbed_official 205:c41fc65bcfb4 105 * @{
mbed_official 205:c41fc65bcfb4 106 */
mbed_official 205:c41fc65bcfb4 107 #define HAL_CRC_LENGTH_32B 32
mbed_official 205:c41fc65bcfb4 108 #define HAL_CRC_LENGTH_16B 16
mbed_official 205:c41fc65bcfb4 109 #define HAL_CRC_LENGTH_8B 8
mbed_official 205:c41fc65bcfb4 110 #define HAL_CRC_LENGTH_7B 7
mbed_official 205:c41fc65bcfb4 111 /**
mbed_official 205:c41fc65bcfb4 112 * @}
mbed_official 205:c41fc65bcfb4 113 */
mbed_official 205:c41fc65bcfb4 114 #endif /* defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) */
mbed_official 205:c41fc65bcfb4 115
mbed_official 205:c41fc65bcfb4 116 /* Exported macro ------------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 117
mbed_official 205:c41fc65bcfb4 118 /** @defgroup CRCEx_Exported_Macros
mbed_official 205:c41fc65bcfb4 119 * @{
mbed_official 205:c41fc65bcfb4 120 */
mbed_official 205:c41fc65bcfb4 121
mbed_official 205:c41fc65bcfb4 122 /**
mbed_official 205:c41fc65bcfb4 123 * @brief Set CRC output reversal
mbed_official 205:c41fc65bcfb4 124 * @param __HANDLE__ : CRC handle
mbed_official 205:c41fc65bcfb4 125 * @retval None.
mbed_official 205:c41fc65bcfb4 126 */
mbed_official 205:c41fc65bcfb4 127 #define __HAL_CRC_OUTPUTREVERSAL_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_REV_OUT)
mbed_official 205:c41fc65bcfb4 128
mbed_official 205:c41fc65bcfb4 129 /**
mbed_official 205:c41fc65bcfb4 130 * @brief Unset CRC output reversal
mbed_official 205:c41fc65bcfb4 131 * @param __HANDLE__ : CRC handle
mbed_official 205:c41fc65bcfb4 132 * @retval None.
mbed_official 205:c41fc65bcfb4 133 */
mbed_official 205:c41fc65bcfb4 134 #define __HAL_CRC_OUTPUTREVERSAL_DISABLE(__HANDLE__) ((__HANDLE__)->Instance->CR &= ~(CRC_CR_REV_OUT))
mbed_official 205:c41fc65bcfb4 135
mbed_official 205:c41fc65bcfb4 136 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 205:c41fc65bcfb4 137 /**
mbed_official 205:c41fc65bcfb4 138 * @brief Set CRC non-default polynomial
mbed_official 205:c41fc65bcfb4 139 * @param __HANDLE__ : CRC handle
mbed_official 205:c41fc65bcfb4 140 * @param __POLYNOMIAL__: 7, 8, 16 or 32-bit polynomial
mbed_official 205:c41fc65bcfb4 141 * @retval None.
mbed_official 205:c41fc65bcfb4 142 */
mbed_official 205:c41fc65bcfb4 143 #define __HAL_CRC_POLYNOMIAL_CONFIG(__HANDLE__, __POLYNOMIAL__) ((__HANDLE__)->Instance->POL = (__POLYNOMIAL__))
mbed_official 205:c41fc65bcfb4 144 #endif /* defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) */
mbed_official 205:c41fc65bcfb4 145 /**
mbed_official 205:c41fc65bcfb4 146 * @}
mbed_official 205:c41fc65bcfb4 147 */
mbed_official 205:c41fc65bcfb4 148
mbed_official 205:c41fc65bcfb4 149 /* Exported functions --------------------------------------------------------*/
mbed_official 205:c41fc65bcfb4 150 /* Initialization and de-initialization functions ****************************/
mbed_official 205:c41fc65bcfb4 151 HAL_StatusTypeDef HAL_CRCEx_Init(CRC_HandleTypeDef *hcrc);
mbed_official 205:c41fc65bcfb4 152 HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t InputReverseMode);
mbed_official 205:c41fc65bcfb4 153 HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse(CRC_HandleTypeDef *hcrc, uint32_t OutputReverseMode);
mbed_official 205:c41fc65bcfb4 154
mbed_official 205:c41fc65bcfb4 155 #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)
mbed_official 205:c41fc65bcfb4 156 HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set(CRC_HandleTypeDef *hcrc, uint32_t Pol, uint32_t PolyLength);
mbed_official 205:c41fc65bcfb4 157 #endif /* defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx) */
mbed_official 205:c41fc65bcfb4 158
mbed_official 205:c41fc65bcfb4 159 /* Peripheral Control functions ***********************************************/
mbed_official 205:c41fc65bcfb4 160 /* Peripheral State and Error functions ***************************************/
mbed_official 205:c41fc65bcfb4 161
mbed_official 205:c41fc65bcfb4 162
mbed_official 205:c41fc65bcfb4 163 /**
mbed_official 205:c41fc65bcfb4 164 * @}
mbed_official 205:c41fc65bcfb4 165 */
mbed_official 205:c41fc65bcfb4 166
mbed_official 205:c41fc65bcfb4 167 /**
mbed_official 205:c41fc65bcfb4 168 * @}
mbed_official 205:c41fc65bcfb4 169 */
mbed_official 205:c41fc65bcfb4 170
mbed_official 205:c41fc65bcfb4 171 #ifdef __cplusplus
mbed_official 205:c41fc65bcfb4 172 }
mbed_official 205:c41fc65bcfb4 173 #endif
mbed_official 205:c41fc65bcfb4 174
mbed_official 205:c41fc65bcfb4 175 #endif /* __STM32F0xx_HAL_CRC_EX_H */
mbed_official 205:c41fc65bcfb4 176
mbed_official 205:c41fc65bcfb4 177 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/