19 #if defined(USE_FULL_LL_DRIVER) 25 #ifdef USE_FULL_ASSERT 26 #include "stm32_assert.h" 28 #define assert_param(expr) ((void)0U) 35 #if defined (SPI1) || defined (SPI2) || defined (SPI3) 49 #define SPI_CR1_CLEAR_MASK (SPI_CR1_CPHA | SPI_CR1_CPOL | SPI_CR1_MSTR | \ 50 SPI_CR1_BR | SPI_CR1_LSBFIRST | SPI_CR1_SSI | \ 51 SPI_CR1_SSM | SPI_CR1_RXONLY | SPI_CR1_CRCL | \ 52 SPI_CR1_CRCNEXT | SPI_CR1_CRCEN | SPI_CR1_BIDIOE | \ 62 #define IS_LL_SPI_TRANSFER_DIRECTION(__VALUE__) (((__VALUE__) == LL_SPI_FULL_DUPLEX) \ 63 || ((__VALUE__) == LL_SPI_SIMPLEX_RX) \ 64 || ((__VALUE__) == LL_SPI_HALF_DUPLEX_RX) \ 65 || ((__VALUE__) == LL_SPI_HALF_DUPLEX_TX)) 67 #define IS_LL_SPI_MODE(__VALUE__) (((__VALUE__) == LL_SPI_MODE_MASTER) \ 68 || ((__VALUE__) == LL_SPI_MODE_SLAVE)) 70 #define IS_LL_SPI_DATAWIDTH(__VALUE__) (((__VALUE__) == LL_SPI_DATAWIDTH_4BIT) \ 71 || ((__VALUE__) == LL_SPI_DATAWIDTH_5BIT) \ 72 || ((__VALUE__) == LL_SPI_DATAWIDTH_6BIT) \ 73 || ((__VALUE__) == LL_SPI_DATAWIDTH_7BIT) \ 74 || ((__VALUE__) == LL_SPI_DATAWIDTH_8BIT) \ 75 || ((__VALUE__) == LL_SPI_DATAWIDTH_9BIT) \ 76 || ((__VALUE__) == LL_SPI_DATAWIDTH_10BIT) \ 77 || ((__VALUE__) == LL_SPI_DATAWIDTH_11BIT) \ 78 || ((__VALUE__) == LL_SPI_DATAWIDTH_12BIT) \ 79 || ((__VALUE__) == LL_SPI_DATAWIDTH_13BIT) \ 80 || ((__VALUE__) == LL_SPI_DATAWIDTH_14BIT) \ 81 || ((__VALUE__) == LL_SPI_DATAWIDTH_15BIT) \ 82 || ((__VALUE__) == LL_SPI_DATAWIDTH_16BIT)) 84 #define IS_LL_SPI_POLARITY(__VALUE__) (((__VALUE__) == LL_SPI_POLARITY_LOW) \ 85 || ((__VALUE__) == LL_SPI_POLARITY_HIGH)) 87 #define IS_LL_SPI_PHASE(__VALUE__) (((__VALUE__) == LL_SPI_PHASE_1EDGE) \ 88 || ((__VALUE__) == LL_SPI_PHASE_2EDGE)) 90 #define IS_LL_SPI_NSS(__VALUE__) (((__VALUE__) == LL_SPI_NSS_SOFT) \ 91 || ((__VALUE__) == LL_SPI_NSS_HARD_INPUT) \ 92 || ((__VALUE__) == LL_SPI_NSS_HARD_OUTPUT)) 94 #define IS_LL_SPI_BAUDRATE(__VALUE__) (((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV2) \ 95 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV4) \ 96 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV8) \ 97 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV16) \ 98 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV32) \ 99 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV64) \ 100 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV128) \ 101 || ((__VALUE__) == LL_SPI_BAUDRATEPRESCALER_DIV256)) 103 #define IS_LL_SPI_BITORDER(__VALUE__) (((__VALUE__) == LL_SPI_LSB_FIRST) \ 104 || ((__VALUE__) == LL_SPI_MSB_FIRST)) 106 #define IS_LL_SPI_CRCCALCULATION(__VALUE__) (((__VALUE__) == LL_SPI_CRCCALCULATION_ENABLE) \ 107 || ((__VALUE__) == LL_SPI_CRCCALCULATION_DISABLE)) 109 #define IS_LL_SPI_CRC_POLYNOMIAL(__VALUE__) ((__VALUE__) >= 0x1U) 135 ErrorStatus status = ERROR;
190 ErrorStatus status = ERROR;
232 SPI_CR2_DS | SPI_CR2_SSOE,
233 SPI_InitStruct->
DataWidth | (SPI_InitStruct->
NSS >> 16U));
239 if (SPI_InitStruct->
CRCCalculation == LL_SPI_CRCCALCULATION_ENABLE)
260 SPI_InitStruct->
Mode = LL_SPI_MODE_SLAVE;
261 SPI_InitStruct->
DataWidth = LL_SPI_DATAWIDTH_8BIT;
263 SPI_InitStruct->
ClockPhase = LL_SPI_PHASE_1EDGE;
264 SPI_InitStruct->
NSS = LL_SPI_NSS_HARD_INPUT;
265 SPI_InitStruct->
BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV2;
266 SPI_InitStruct->
BitOrder = LL_SPI_MSB_FIRST;
uint32_t TransferDirection
__STATIC_INLINE uint32_t LL_SPI_IsEnabled(SPI_TypeDef *SPIx)
Check if SPI peripheral is enabled CR1 SPE LL_SPI_IsEnabled.
ErrorStatus LL_SPI_DeInit(SPI_TypeDef *SPIx)
De-initialize the SPI registers to their default reset values.
__STATIC_INLINE void LL_APB2_GRP1_ReleaseReset(uint32_t Periphs)
Release APB2 peripherals reset. APB2RSTR SYSCFGRST LL_APB2_GRP1_ReleaseReset APB2RSTR SDMMC1RST LL_...
__STATIC_INLINE void LL_SPI_SetCRCPolynomial(SPI_TypeDef *SPIx, uint32_t CRCPoly)
Set polynomial for CRC calculation CRCPR CRCPOLY LL_SPI_SetCRCPolynomial.
__STATIC_INLINE void LL_APB1_GRP1_ReleaseReset(uint32_t Periphs)
Release APB1 peripherals reset. APB1RSTR1 TIM2RST LL_APB1_GRP1_ReleaseReset APB1RSTR1 TIM3RST LL_AP...
__STATIC_INLINE void LL_APB2_GRP1_ForceReset(uint32_t Periphs)
Force APB2 peripherals reset. APB2RSTR SYSCFGRST LL_APB2_GRP1_ForceReset APB2RSTR SDMMC1RST LL_APB2...
Header file of BUS LL module.
__STATIC_INLINE void LL_APB1_GRP1_ForceReset(uint32_t Periphs)
Force APB1 peripherals reset. APB1RSTR1 TIM2RST LL_APB1_GRP1_ForceReset APB1RSTR1 TIM3RST LL_APB1_G...
Header file of SPI LL module.
void LL_SPI_StructInit(LL_SPI_InitTypeDef *SPI_InitStruct)
Set each LL_SPI_InitTypeDef field to default value.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
ErrorStatus LL_SPI_Init(SPI_TypeDef *SPIx, LL_SPI_InitTypeDef *SPI_InitStruct)
Initialize the SPI registers according to the specified parameters in SPI_InitStruct.
SPI Init structures definition.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))