mirror of
				https://github.com/IcedRooibos/py32f0-template.git
				synced 2025-10-30 01:12:06 -07:00 
			
		
		
		
	
		
			
				
	
	
		
			188 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|   ******************************************************************************
 | |
|   * @file    py32f0xx_hal_crc.h
 | |
|   * @author  MCU Application Team
 | |
|   * @brief   Header file of CRC HAL module.
 | |
|   ******************************************************************************
 | |
|   * @attention
 | |
|   *
 | |
|   * <h2><center>© Copyright (c) Puya Semiconductor Co.
 | |
|   * All rights reserved.</center></h2>
 | |
|   *
 | |
|   * <h2><center>© Copyright (c) 2016 STMicroelectronics.
 | |
|   * All rights reserved.</center></h2>
 | |
|   *
 | |
|   * This software component is licensed by ST under BSD 3-Clause license,
 | |
|   * the "License"; You may not use this file except in compliance with the
 | |
|   * License. You may obtain a copy of the License at:
 | |
|   *                        opensource.org/licenses/BSD-3-Clause
 | |
|   *
 | |
|   ******************************************************************************
 | |
|   */
 | |
| 
 | |
| /* Define to prevent recursive inclusion -------------------------------------*/
 | |
| #ifndef __PY32F0xx_HAL_CRC_H
 | |
| #define __PY32F0xx_HAL_CRC_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /* Includes ------------------------------------------------------------------*/
 | |
| #include "py32f0xx_hal_def.h"
 | |
| 
 | |
| /** @addtogroup PY32F0xx_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(CRC_HandleTypeDef *hcrc);
 | |
| /**
 | |
|   * @}
 | |
|   */
 | |
| 
 | |
| /**
 | |
|   * @}
 | |
|   */
 | |
| 
 | |
| /**
 | |
|   * @}
 | |
|   */
 | |
| 
 | |
| /**
 | |
|   * @}
 | |
|   */
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* __PY32F0xx_HAL_CRC_H */
 | |
| 
 | |
| /************************ (C) COPYRIGHT Puya *****END OF FILE****/
 | 
