You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/**
****************************************************************************** * @file stm32f4xx_hal_crc.h * @author MCD Application Team * @brief Header file of CRC HAL module. ****************************************************************************** * @attention * * Copyright (c) 2016 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** */
/* Define to prevent recursive inclusion -------------------------------------*/ #ifndef STM32F4xx_HAL_CRC_H
#define STM32F4xx_HAL_CRC_H
#ifdef __cplusplus
extern "C" { #endif
/* Includes ------------------------------------------------------------------*/ #include "stm32f4xx_hal_def.h"
/** @addtogroup STM32F4xx_HAL_Driver
* @{ */
/** @addtogroup CRC
* @{ */
/* Exported types ------------------------------------------------------------*/ /** @defgroup CRC_Exported_Types CRC Exported Types
* @{ */
/**
* @brief CRC HAL State Structure definition */ typedef enum { HAL_CRC_STATE_RESET = 0x00U, /*!< CRC not yet initialized or disabled */ HAL_CRC_STATE_READY = 0x01U, /*!< CRC initialized and ready for use */ HAL_CRC_STATE_BUSY = 0x02U, /*!< CRC internal process is ongoing */ HAL_CRC_STATE_TIMEOUT = 0x03U, /*!< CRC timeout state */ HAL_CRC_STATE_ERROR = 0x04U /*!< CRC error state */ } HAL_CRC_StateTypeDef;
/**
* @brief CRC Handle Structure definition */ typedef struct { CRC_TypeDef *Instance; /*!< Register base address */
HAL_LockTypeDef Lock; /*!< CRC Locking object */
__IO HAL_CRC_StateTypeDef State; /*!< CRC communication state */
} CRC_HandleTypeDef; /**
* @} */
/* Exported constants --------------------------------------------------------*/ /** @defgroup CRC_Exported_Constants CRC Exported Constants
* @{ */
/**
* @} */
/* Exported macros -----------------------------------------------------------*/ /** @defgroup CRC_Exported_Macros CRC Exported Macros
* @{ */
/** @brief Reset CRC handle state.
* @param __HANDLE__ CRC handle. * @retval None */ #define __HAL_CRC_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_CRC_STATE_RESET)
/**
* @brief Reset CRC Data Register. * @param __HANDLE__ CRC handle * @retval None */ #define __HAL_CRC_DR_RESET(__HANDLE__) ((__HANDLE__)->Instance->CR |= CRC_CR_RESET)
/**
* @brief Store data in the Independent Data (ID) register. * @param __HANDLE__ CRC handle * @param __VALUE__ Value to be stored in the ID register * @note Refer to the Reference Manual to get the authorized __VALUE__ length in bits * @retval None */ #define __HAL_CRC_SET_IDR(__HANDLE__, __VALUE__) (WRITE_REG((__HANDLE__)->Instance->IDR, (__VALUE__)))
/**
* @brief Return the data stored in the Independent Data (ID) register. * @param __HANDLE__ CRC handle * @note Refer to the Reference Manual to get the authorized __VALUE__ length in bits * @retval Value of the ID register */ #define __HAL_CRC_GET_IDR(__HANDLE__) (((__HANDLE__)->Instance->IDR) & CRC_IDR_IDR)
/**
* @} */
/* Private macros --------------------------------------------------------*/ /** @defgroup CRC_Private_Macros CRC Private Macros
* @{ */
/**
* @} */
/* Exported functions --------------------------------------------------------*/ /** @defgroup CRC_Exported_Functions CRC Exported Functions
* @{ */
/* Initialization and de-initialization functions ****************************/ /** @defgroup CRC_Exported_Functions_Group1 Initialization and de-initialization functions
* @{ */ HAL_StatusTypeDef HAL_CRC_Init(CRC_HandleTypeDef *hcrc); HAL_StatusTypeDef HAL_CRC_DeInit(CRC_HandleTypeDef *hcrc); void HAL_CRC_MspInit(CRC_HandleTypeDef *hcrc); void HAL_CRC_MspDeInit(CRC_HandleTypeDef *hcrc); /**
* @} */
/* Peripheral Control functions ***********************************************/ /** @defgroup CRC_Exported_Functions_Group2 Peripheral Control functions
* @{ */ uint32_t HAL_CRC_Accumulate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength); uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength); /**
* @} */
/* Peripheral State and Error functions ***************************************/ /** @defgroup CRC_Exported_Functions_Group3 Peripheral State functions
* @{ */ HAL_CRC_StateTypeDef HAL_CRC_GetState(const CRC_HandleTypeDef *hcrc); /**
* @} */
/**
* @} */
/**
* @} */
/**
* @} */
#ifdef __cplusplus
} #endif
#endif /* STM32F4xx_HAL_CRC_H */
|