Extended Initialization and Configuration functions.
More...
Extended Initialization and Configuration functions.
===============================================================================
##### Extended configuration functions #####
===============================================================================
[..] This section provides functions allowing to:
(+) Configure the generating polynomial
(+) Configure the input data inversion
(+) Configure the output data inversion
◆ HAL_CRCEx_Input_Data_Reverse()
| HAL_StatusTypeDef HAL_CRCEx_Input_Data_Reverse |
( |
CRC_HandleTypeDef * |
hcrc, |
|
|
uint32_t |
InputReverseMode |
|
) |
| |
Set the Reverse Input data mode.
- Parameters
-
| hcrc | CRC handle |
| InputReverseMode | Input Data inversion mode. This parameter can be one of the following values:
- CRC_INPUTDATA_INVERSION_NONE no change in bit order (default value)
- CRC_INPUTDATA_INVERSION_BYTE Byte-wise bit reversal
- CRC_INPUTDATA_INVERSION_HALFWORD HalfWord-wise bit reversal
- CRC_INPUTDATA_INVERSION_WORD Word-wise bit reversal
|
- Return values
-
Definition at line 159 of file stm32l4xx_hal_crc_ex.c.
162 assert_param(IS_CRC_INPUTDATA_INVERSION_MODE(InputReverseMode));
__IO HAL_CRC_StateTypeDef State
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_CRCEx_Output_Data_Reverse()
| HAL_StatusTypeDef HAL_CRCEx_Output_Data_Reverse |
( |
CRC_HandleTypeDef * |
hcrc, |
|
|
uint32_t |
OutputReverseMode |
|
) |
| |
Set the Reverse Output data mode.
- Parameters
-
| hcrc | CRC handle |
| OutputReverseMode | Output Data inversion mode. This parameter can be one of the following values:
- CRC_OUTPUTDATA_INVERSION_DISABLE no CRC inversion (default value)
- CRC_OUTPUTDATA_INVERSION_ENABLE bit-level inversion (e.g. for a 8-bit CRC: 0xB5 becomes 0xAD)
|
- Return values
-
Definition at line 185 of file stm32l4xx_hal_crc_ex.c.
188 assert_param(IS_CRC_OUTPUTDATA_INVERSION_MODE(OutputReverseMode));
__IO HAL_CRC_StateTypeDef State
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
◆ HAL_CRCEx_Polynomial_Set()
| HAL_StatusTypeDef HAL_CRCEx_Polynomial_Set |
( |
CRC_HandleTypeDef * |
hcrc, |
|
|
uint32_t |
Pol, |
|
|
uint32_t |
PolyLength |
|
) |
| |
Initialize the CRC polynomial if different from default one.
- Parameters
-
| hcrc | CRC handle |
| Pol | CRC generating polynomial (7, 8, 16 or 32-bit long). This parameter is written in normal representation, e.g.
- for a polynomial of degree 7, X^7 + X^6 + X^5 + X^2 + 1 is written 0x65
- for a polynomial of degree 16, X^16 + X^12 + X^5 + 1 is written 0x1021
|
| PolyLength | CRC polynomial length. This parameter can be one of the following values:
- CRC_POLYLENGTH_7B 7-bit long CRC (generating polynomial of degree 7)
- CRC_POLYLENGTH_8B 8-bit long CRC (generating polynomial of degree 8)
- CRC_POLYLENGTH_16B 16-bit long CRC (generating polynomial of degree 16)
- CRC_POLYLENGTH_32B 32-bit long CRC (generating polynomial of degree 32)
|
- Return values
-
Definition at line 89 of file stm32l4xx_hal_crc_ex.c.
91 HAL_StatusTypeDef status =
HAL_OK;
104 while ((msb-- > 0U) && ((Pol & ((uint32_t)(0x1U) << (msb & 0x1FU))) == 0U))
110 case CRC_POLYLENGTH_7B:
111 if (msb >= HAL_CRC_LENGTH_7B)
116 case CRC_POLYLENGTH_8B:
117 if (msb >= HAL_CRC_LENGTH_8B)
122 case CRC_POLYLENGTH_16B:
123 if (msb >= HAL_CRC_LENGTH_16B)
129 case CRC_POLYLENGTH_32B:
139 WRITE_REG(hcrc->
Instance->POL, Pol);
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))