21 #ifndef STM32L4xx_LL_SPI_H 22 #define STM32L4xx_LL_SPI_H 29 #include "stm32l4xx.h" 35 #if defined (SPI1) || defined (SPI2) || defined (SPI3) 46 #if defined(USE_FULL_LL_DRIVER) 123 #define LL_SPI_SR_RXNE SPI_SR_RXNE 124 #define LL_SPI_SR_TXE SPI_SR_TXE 125 #define LL_SPI_SR_BSY SPI_SR_BSY 126 #define LL_SPI_SR_CRCERR SPI_SR_CRCERR 127 #define LL_SPI_SR_MODF SPI_SR_MODF 128 #define LL_SPI_SR_OVR SPI_SR_OVR 129 #define LL_SPI_SR_FRE SPI_SR_FRE 138 #define LL_SPI_CR2_RXNEIE SPI_CR2_RXNEIE 139 #define LL_SPI_CR2_TXEIE SPI_CR2_TXEIE 140 #define LL_SPI_CR2_ERRIE SPI_CR2_ERRIE 148 #define LL_SPI_MODE_MASTER (SPI_CR1_MSTR | SPI_CR1_SSI) 149 #define LL_SPI_MODE_SLAVE 0x00000000U 157 #define LL_SPI_PROTOCOL_MOTOROLA 0x00000000U 158 #define LL_SPI_PROTOCOL_TI (SPI_CR2_FRF) 166 #define LL_SPI_PHASE_1EDGE 0x00000000U 167 #define LL_SPI_PHASE_2EDGE (SPI_CR1_CPHA) 175 #define LL_SPI_POLARITY_LOW 0x00000000U 176 #define LL_SPI_POLARITY_HIGH (SPI_CR1_CPOL) 184 #define LL_SPI_BAUDRATEPRESCALER_DIV2 0x00000000U 185 #define LL_SPI_BAUDRATEPRESCALER_DIV4 (SPI_CR1_BR_0) 186 #define LL_SPI_BAUDRATEPRESCALER_DIV8 (SPI_CR1_BR_1) 187 #define LL_SPI_BAUDRATEPRESCALER_DIV16 (SPI_CR1_BR_1 | SPI_CR1_BR_0) 188 #define LL_SPI_BAUDRATEPRESCALER_DIV32 (SPI_CR1_BR_2) 189 #define LL_SPI_BAUDRATEPRESCALER_DIV64 (SPI_CR1_BR_2 | SPI_CR1_BR_0) 190 #define LL_SPI_BAUDRATEPRESCALER_DIV128 (SPI_CR1_BR_2 | SPI_CR1_BR_1) 191 #define LL_SPI_BAUDRATEPRESCALER_DIV256 (SPI_CR1_BR_2 | SPI_CR1_BR_1 | SPI_CR1_BR_0) 199 #define LL_SPI_LSB_FIRST (SPI_CR1_LSBFIRST) 200 #define LL_SPI_MSB_FIRST 0x00000000U 208 #define LL_SPI_FULL_DUPLEX 0x00000000U 209 #define LL_SPI_SIMPLEX_RX (SPI_CR1_RXONLY) 210 #define LL_SPI_HALF_DUPLEX_RX (SPI_CR1_BIDIMODE) 211 #define LL_SPI_HALF_DUPLEX_TX (SPI_CR1_BIDIMODE | SPI_CR1_BIDIOE) 219 #define LL_SPI_NSS_SOFT (SPI_CR1_SSM) 220 #define LL_SPI_NSS_HARD_INPUT 0x00000000U 221 #define LL_SPI_NSS_HARD_OUTPUT (((uint32_t)SPI_CR2_SSOE << 16U)) 229 #define LL_SPI_DATAWIDTH_4BIT (SPI_CR2_DS_0 | SPI_CR2_DS_1) 230 #define LL_SPI_DATAWIDTH_5BIT (SPI_CR2_DS_2) 231 #define LL_SPI_DATAWIDTH_6BIT (SPI_CR2_DS_2 | SPI_CR2_DS_0) 232 #define LL_SPI_DATAWIDTH_7BIT (SPI_CR2_DS_2 | SPI_CR2_DS_1) 233 #define LL_SPI_DATAWIDTH_8BIT (SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0) 234 #define LL_SPI_DATAWIDTH_9BIT (SPI_CR2_DS_3) 235 #define LL_SPI_DATAWIDTH_10BIT (SPI_CR2_DS_3 | SPI_CR2_DS_0) 236 #define LL_SPI_DATAWIDTH_11BIT (SPI_CR2_DS_3 | SPI_CR2_DS_1) 237 #define LL_SPI_DATAWIDTH_12BIT (SPI_CR2_DS_3 | SPI_CR2_DS_1 | SPI_CR2_DS_0) 238 #define LL_SPI_DATAWIDTH_13BIT (SPI_CR2_DS_3 | SPI_CR2_DS_2) 239 #define LL_SPI_DATAWIDTH_14BIT (SPI_CR2_DS_3 | SPI_CR2_DS_2 | SPI_CR2_DS_0) 240 #define LL_SPI_DATAWIDTH_15BIT (SPI_CR2_DS_3 | SPI_CR2_DS_2 | SPI_CR2_DS_1) 241 #define LL_SPI_DATAWIDTH_16BIT (SPI_CR2_DS_3 | SPI_CR2_DS_2 | SPI_CR2_DS_1 | SPI_CR2_DS_0) 245 #if defined(USE_FULL_LL_DRIVER) 250 #define LL_SPI_CRCCALCULATION_DISABLE 0x00000000U 251 #define LL_SPI_CRCCALCULATION_ENABLE (SPI_CR1_CRCEN) 260 #define LL_SPI_CRC_8BIT 0x00000000U 261 #define LL_SPI_CRC_16BIT (SPI_CR1_CRCL) 269 #define LL_SPI_RX_FIFO_TH_HALF 0x00000000U 270 #define LL_SPI_RX_FIFO_TH_QUARTER (SPI_CR2_FRXTH) 278 #define LL_SPI_RX_FIFO_EMPTY 0x00000000U 279 #define LL_SPI_RX_FIFO_QUARTER_FULL (SPI_SR_FRLVL_0) 280 #define LL_SPI_RX_FIFO_HALF_FULL (SPI_SR_FRLVL_1) 281 #define LL_SPI_RX_FIFO_FULL (SPI_SR_FRLVL_1 | SPI_SR_FRLVL_0) 289 #define LL_SPI_TX_FIFO_EMPTY 0x00000000U 290 #define LL_SPI_TX_FIFO_QUARTER_FULL (SPI_SR_FTLVL_0) 291 #define LL_SPI_TX_FIFO_HALF_FULL (SPI_SR_FTLVL_1) 292 #define LL_SPI_TX_FIFO_FULL (SPI_SR_FTLVL_1 | SPI_SR_FTLVL_0) 300 #define LL_SPI_DMA_PARITY_EVEN 0x00000000U 301 #define LL_SPI_DMA_PARITY_ODD 0x00000001U 327 #define LL_SPI_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__)) 335 #define LL_SPI_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) 361 SET_BIT(SPIx->CR1, SPI_CR1_SPE);
384 return ((READ_BIT(SPIx->CR1, SPI_CR1_SPE) == (SPI_CR1_SPE)) ? 1UL : 0UL);
400 MODIFY_REG(SPIx->CR1, SPI_CR1_MSTR | SPI_CR1_SSI, Mode);
414 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_MSTR | SPI_CR1_SSI));
442 return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_FRF));
458 MODIFY_REG(SPIx->CR1, SPI_CR1_CPHA, ClockPhase);
471 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_CPHA));
487 MODIFY_REG(SPIx->CR1, SPI_CR1_CPOL, ClockPolarity);
500 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_CPOL));
540 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_BR));
555 MODIFY_REG(SPIx->CR1, SPI_CR1_LSBFIRST, BitOrder);
568 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_LSBFIRST));
588 MODIFY_REG(SPIx->CR1, SPI_CR1_RXONLY | SPI_CR1_BIDIMODE | SPI_CR1_BIDIOE, TransferDirection);
605 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_RXONLY | SPI_CR1_BIDIMODE | SPI_CR1_BIDIOE));
654 return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_DS));
668 MODIFY_REG(SPIx->CR2, SPI_CR2_FRXTH, Threshold);
681 return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_FRXTH));
701 SET_BIT(SPIx->CR1, SPI_CR1_CRCEN);
725 return ((READ_BIT(SPIx->CR1, SPI_CR1_CRCEN) == (SPI_CR1_CRCEN)) ? 1UL : 0UL);
740 MODIFY_REG(SPIx->CR1, SPI_CR1_CRCL, CRCLength);
753 return (uint32_t)(READ_BIT(SPIx->CR1, SPI_CR1_CRCL));
765 SET_BIT(SPIx->CR1, SPI_CR1_CRCNEXT);
777 WRITE_REG(SPIx->CRCPR, (uint16_t)CRCPoly);
788 return (uint32_t)(READ_REG(SPIx->CRCPR));
799 return (uint32_t)(READ_REG(SPIx->RXCRCR));
810 return (uint32_t)(READ_REG(SPIx->TXCRCR));
836 MODIFY_REG(SPIx->CR2, SPI_CR2_SSOE, ((uint32_t)(NSS >> 16U)));
851 register uint32_t Ssm = (READ_BIT(SPIx->CR1, SPI_CR1_SSM));
852 register uint32_t Ssoe = (READ_BIT(SPIx->CR2, SPI_CR2_SSOE) << 16U);
865 SET_BIT(SPIx->CR2, SPI_CR2_NSSP);
889 return ((READ_BIT(SPIx->CR2, SPI_CR2_NSSP) == (SPI_CR2_NSSP)) ? 1UL : 0UL);
908 return ((READ_BIT(SPIx->SR, SPI_SR_RXNE) == (SPI_SR_RXNE)) ? 1UL : 0UL);
919 return ((READ_BIT(SPIx->SR, SPI_SR_TXE) == (SPI_SR_TXE)) ? 1UL : 0UL);
930 return ((READ_BIT(SPIx->SR, SPI_SR_CRCERR) == (SPI_SR_CRCERR)) ? 1UL : 0UL);
941 return ((READ_BIT(SPIx->SR, SPI_SR_MODF) == (SPI_SR_MODF)) ? 1UL : 0UL);
952 return ((READ_BIT(SPIx->SR, SPI_SR_OVR) == (SPI_SR_OVR)) ? 1UL : 0UL);
970 return ((READ_BIT(SPIx->SR, SPI_SR_BSY) == (SPI_SR_BSY)) ? 1UL : 0UL);
981 return ((READ_BIT(SPIx->SR, SPI_SR_FRE) == (SPI_SR_FRE)) ? 1UL : 0UL);
996 return (uint32_t)(READ_BIT(SPIx->SR, SPI_SR_FRLVL));
1011 return (uint32_t)(READ_BIT(SPIx->SR, SPI_SR_FTLVL));
1035 __IO uint32_t tmpreg_sr;
1036 tmpreg_sr = SPIx->SR;
1051 __IO uint32_t tmpreg;
1067 __IO uint32_t tmpreg;
1089 SET_BIT(SPIx->CR2, SPI_CR2_ERRIE);
1100 SET_BIT(SPIx->CR2, SPI_CR2_RXNEIE);
1111 SET_BIT(SPIx->CR2, SPI_CR2_TXEIE);
1156 return ((READ_BIT(SPIx->CR2, SPI_CR2_ERRIE) == (SPI_CR2_ERRIE)) ? 1UL : 0UL);
1167 return ((READ_BIT(SPIx->CR2, SPI_CR2_RXNEIE) == (SPI_CR2_RXNEIE)) ? 1UL : 0UL);
1178 return ((READ_BIT(SPIx->CR2, SPI_CR2_TXEIE) == (SPI_CR2_TXEIE)) ? 1UL : 0UL);
1197 SET_BIT(SPIx->CR2, SPI_CR2_RXDMAEN);
1219 return ((READ_BIT(SPIx->CR2, SPI_CR2_RXDMAEN) == (SPI_CR2_RXDMAEN)) ? 1UL : 0UL);
1230 SET_BIT(SPIx->CR2, SPI_CR2_TXDMAEN);
1252 return ((READ_BIT(SPIx->CR2, SPI_CR2_TXDMAEN) == (SPI_CR2_TXDMAEN)) ? 1UL : 0UL);
1266 MODIFY_REG(SPIx->CR2, SPI_CR2_LDMARX, (Parity << SPI_CR2_LDMARX_Pos));
1279 return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_LDMARX) >> SPI_CR2_LDMARX_Pos);
1293 MODIFY_REG(SPIx->CR2, SPI_CR2_LDMATX, (Parity << SPI_CR2_LDMATX_Pos));
1306 return (uint32_t)(READ_BIT(SPIx->CR2, SPI_CR2_LDMATX) >> SPI_CR2_LDMATX_Pos);
1317 return (uint32_t) & (SPIx->DR);
1336 return (uint8_t)(READ_REG(SPIx->DR));
1347 return (uint16_t)(READ_REG(SPIx->DR));
1359 #if defined (__GNUC__) 1360 __IO uint8_t *spidr = ((__IO uint8_t *)&SPIx->DR);
1363 *((__IO uint8_t *)&SPIx->DR) = TxData;
1376 #if defined (__GNUC__) 1377 __IO uint16_t *spidr = ((__IO uint16_t *)&SPIx->DR);
1387 #if defined(USE_FULL_LL_DRIVER) __STATIC_INLINE uint32_t LL_SPI_IsEnabledDMAReq_RX(SPI_TypeDef *SPIx)
Check if DMA Rx is enabled CR2 RXDMAEN LL_SPI_IsEnabledDMAReq_RX.
__STATIC_INLINE uint8_t LL_SPI_ReceiveData8(SPI_TypeDef *SPIx)
Read 8-Bits in the data register DR DR LL_SPI_ReceiveData8.
__STATIC_INLINE void LL_SPI_SetCRCWidth(SPI_TypeDef *SPIx, uint32_t CRCLength)
Set CRC Length.
__STATIC_INLINE uint32_t LL_SPI_DMA_GetRegAddr(SPI_TypeDef *SPIx)
Get the data register address used for DMA transfer DR DR LL_SPI_DMA_GetRegAddr. ...
__STATIC_INLINE uint32_t LL_SPI_GetCRCWidth(SPI_TypeDef *SPIx)
Get CRC Length CR1 CRCL LL_SPI_GetCRCWidth.
__STATIC_INLINE uint16_t LL_SPI_ReceiveData16(SPI_TypeDef *SPIx)
Read 16-Bits in the data register DR DR LL_SPI_ReceiveData16.
uint32_t TransferDirection
__STATIC_INLINE void LL_SPI_ClearFlag_MODF(SPI_TypeDef *SPIx)
Clear mode fault error flag.
__STATIC_INLINE uint32_t LL_SPI_IsEnabledDMAReq_TX(SPI_TypeDef *SPIx)
Check if DMA Tx is enabled CR2 TXDMAEN LL_SPI_IsEnabledDMAReq_TX.
__STATIC_INLINE uint32_t LL_SPI_IsEnabled(SPI_TypeDef *SPIx)
Check if SPI peripheral is enabled CR1 SPE LL_SPI_IsEnabled.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_RXNE(SPI_TypeDef *SPIx)
Check if Rx buffer is not empty SR RXNE LL_SPI_IsActiveFlag_RXNE.
__STATIC_INLINE uint32_t LL_SPI_GetTxFIFOLevel(SPI_TypeDef *SPIx)
Get FIFO Transmission Level SR FTLVL LL_SPI_GetTxFIFOLevel.
__STATIC_INLINE uint32_t LL_SPI_GetDMAParity_TX(SPI_TypeDef *SPIx)
Get parity configuration for Last DMA transmission CR2 LDMATX LL_SPI_GetDMAParity_TX.
__STATIC_INLINE uint32_t LL_SPI_GetDMAParity_RX(SPI_TypeDef *SPIx)
Get parity configuration for Last DMA reception CR2 LDMARX LL_SPI_GetDMAParity_RX.
__STATIC_INLINE void LL_SPI_DisableIT_TXE(SPI_TypeDef *SPIx)
Disable Tx buffer empty interrupt CR2 TXEIE LL_SPI_DisableIT_TXE.
__STATIC_INLINE uint32_t LL_SPI_GetTransferDirection(SPI_TypeDef *SPIx)
Get transfer direction mode CR1 RXONLY LL_SPI_GetTransferDirection CR1 BIDIMODE LL_SPI_GetTransferD...
ErrorStatus LL_SPI_DeInit(SPI_TypeDef *SPIx)
De-initialize the SPI registers to their default reset values.
__STATIC_INLINE uint32_t LL_SPI_IsEnabledIT_ERR(SPI_TypeDef *SPIx)
Check if error interrupt is enabled CR2 ERRIE LL_SPI_IsEnabledIT_ERR.
__STATIC_INLINE void LL_SPI_SetDMAParity_RX(SPI_TypeDef *SPIx, uint32_t Parity)
Set parity of Last DMA reception CR2 LDMARX LL_SPI_SetDMAParity_RX.
__STATIC_INLINE void LL_SPI_EnableIT_RXNE(SPI_TypeDef *SPIx)
Enable Rx buffer not empty interrupt CR2 RXNEIE LL_SPI_EnableIT_RXNE.
__STATIC_INLINE void LL_SPI_SetDataWidth(SPI_TypeDef *SPIx, uint32_t DataWidth)
Set frame data width CR2 DS LL_SPI_SetDataWidth.
__STATIC_INLINE void LL_SPI_Disable(SPI_TypeDef *SPIx)
Disable SPI peripheral.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_MODF(SPI_TypeDef *SPIx)
Get mode fault error flag SR MODF LL_SPI_IsActiveFlag_MODF.
__STATIC_INLINE void LL_SPI_DisableNSSPulseMgt(SPI_TypeDef *SPIx)
Disable NSS pulse management.
__STATIC_INLINE void LL_SPI_SetNSSMode(SPI_TypeDef *SPIx, uint32_t NSS)
Set NSS mode.
__STATIC_INLINE void LL_SPI_DisableIT_ERR(SPI_TypeDef *SPIx)
Disable error interrupt.
__STATIC_INLINE void LL_SPI_SetCRCPolynomial(SPI_TypeDef *SPIx, uint32_t CRCPoly)
Set polynomial for CRC calculation CRCPR CRCPOLY LL_SPI_SetCRCPolynomial.
__STATIC_INLINE uint32_t LL_SPI_GetTransferBitOrder(SPI_TypeDef *SPIx)
Get transfer bit order CR1 LSBFIRST LL_SPI_GetTransferBitOrder.
__STATIC_INLINE void LL_SPI_TransmitData8(SPI_TypeDef *SPIx, uint8_t TxData)
Write 8-Bits in the data register DR DR LL_SPI_TransmitData8.
__STATIC_INLINE void LL_SPI_SetRxFIFOThreshold(SPI_TypeDef *SPIx, uint32_t Threshold)
Set threshold of RXFIFO that triggers an RXNE event CR2 FRXTH LL_SPI_SetRxFIFOThreshold.
__STATIC_INLINE void LL_SPI_SetBaudRatePrescaler(SPI_TypeDef *SPIx, uint32_t BaudRate)
Set baud rate prescaler.
CLEAR_BIT(hrtc->Instance->CR, RTC_CR_WUTE)
__STATIC_INLINE uint32_t LL_SPI_GetClockPolarity(SPI_TypeDef *SPIx)
Get clock polarity CR1 CPOL LL_SPI_GetClockPolarity.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_FRE(SPI_TypeDef *SPIx)
Get frame format error flag SR FRE LL_SPI_IsActiveFlag_FRE.
__STATIC_INLINE uint32_t LL_SPI_IsEnabledNSSPulse(SPI_TypeDef *SPIx)
Check if NSS pulse is enabled.
__STATIC_INLINE void LL_SPI_DisableDMAReq_RX(SPI_TypeDef *SPIx)
Disable DMA Rx CR2 RXDMAEN LL_SPI_DisableDMAReq_RX.
__STATIC_INLINE void LL_SPI_EnableDMAReq_RX(SPI_TypeDef *SPIx)
Enable DMA Rx CR2 RXDMAEN LL_SPI_EnableDMAReq_RX.
__STATIC_INLINE void LL_SPI_SetClockPolarity(SPI_TypeDef *SPIx, uint32_t ClockPolarity)
Set clock polarity.
__STATIC_INLINE uint32_t LL_SPI_IsEnabledCRC(SPI_TypeDef *SPIx)
Check if CRC is enabled.
__STATIC_INLINE void LL_SPI_SetTransferBitOrder(SPI_TypeDef *SPIx, uint32_t BitOrder)
Set transfer bit order.
__STATIC_INLINE uint32_t LL_SPI_GetStandard(SPI_TypeDef *SPIx)
Get serial protocol used CR2 FRF LL_SPI_GetStandard.
__STATIC_INLINE void LL_SPI_SetDMAParity_TX(SPI_TypeDef *SPIx, uint32_t Parity)
Set parity of Last DMA transmission CR2 LDMATX LL_SPI_SetDMAParity_TX.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_CRCERR(SPI_TypeDef *SPIx)
Get CRC error flag SR CRCERR LL_SPI_IsActiveFlag_CRCERR.
__STATIC_INLINE uint32_t LL_SPI_GetRxCRC(SPI_TypeDef *SPIx)
Get Rx CRC RXCRCR RXCRC LL_SPI_GetRxCRC.
__STATIC_INLINE uint32_t LL_SPI_IsEnabledIT_RXNE(SPI_TypeDef *SPIx)
Check if Rx buffer not empty interrupt is enabled CR2 RXNEIE LL_SPI_IsEnabledIT_RXNE.
__STATIC_INLINE uint32_t LL_SPI_GetRxFIFOLevel(SPI_TypeDef *SPIx)
Get FIFO reception Level SR FRLVL LL_SPI_GetRxFIFOLevel.
__STATIC_INLINE uint32_t LL_SPI_GetCRCPolynomial(SPI_TypeDef *SPIx)
Get polynomial for CRC calculation CRCPR CRCPOLY LL_SPI_GetCRCPolynomial.
__STATIC_INLINE uint32_t LL_SPI_GetTxCRC(SPI_TypeDef *SPIx)
Get Tx CRC TXCRCR TXCRC LL_SPI_GetTxCRC.
__STATIC_INLINE void LL_SPI_DisableIT_RXNE(SPI_TypeDef *SPIx)
Disable Rx buffer not empty interrupt CR2 RXNEIE LL_SPI_DisableIT_RXNE.
__STATIC_INLINE uint32_t LL_SPI_GetBaudRatePrescaler(SPI_TypeDef *SPIx)
Get baud rate prescaler CR1 BR LL_SPI_GetBaudRatePrescaler.
__STATIC_INLINE uint32_t LL_SPI_GetMode(SPI_TypeDef *SPIx)
Get SPI operation mode (Master or Slave) CR1 MSTR LL_SPI_GetMode CR1 SSI LL_SPI_GetMode.
__STATIC_INLINE void LL_SPI_SetClockPhase(SPI_TypeDef *SPIx, uint32_t ClockPhase)
Set clock phase.
__STATIC_INLINE uint32_t LL_SPI_GetRxFIFOThreshold(SPI_TypeDef *SPIx)
Get threshold of RXFIFO that triggers an RXNE event CR2 FRXTH LL_SPI_GetRxFIFOThreshold.
__STATIC_INLINE void LL_SPI_ClearFlag_OVR(SPI_TypeDef *SPIx)
Clear overrun error flag.
__STATIC_INLINE void LL_SPI_EnableDMAReq_TX(SPI_TypeDef *SPIx)
Enable DMA Tx CR2 TXDMAEN LL_SPI_EnableDMAReq_TX.
__STATIC_INLINE void LL_SPI_EnableIT_TXE(SPI_TypeDef *SPIx)
Enable Tx buffer empty interrupt CR2 TXEIE LL_SPI_EnableIT_TXE.
__STATIC_INLINE void LL_SPI_SetTransferDirection(SPI_TypeDef *SPIx, uint32_t TransferDirection)
Set transfer direction mode.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_OVR(SPI_TypeDef *SPIx)
Get overrun error flag SR OVR LL_SPI_IsActiveFlag_OVR.
__STATIC_INLINE void LL_SPI_SetCRCNext(SPI_TypeDef *SPIx)
Set CRCNext to transfer CRC on the line.
void LL_SPI_StructInit(LL_SPI_InitTypeDef *SPI_InitStruct)
Set each LL_SPI_InitTypeDef field to default value.
__STATIC_INLINE void LL_SPI_SetStandard(SPI_TypeDef *SPIx, uint32_t Standard)
Set serial protocol used.
__STATIC_INLINE void LL_SPI_ClearFlag_CRCERR(SPI_TypeDef *SPIx)
Clear CRC error flag SR CRCERR LL_SPI_ClearFlag_CRCERR.
__STATIC_INLINE uint32_t LL_SPI_GetClockPhase(SPI_TypeDef *SPIx)
Get clock phase CR1 CPHA LL_SPI_GetClockPhase.
__STATIC_INLINE uint32_t LL_SPI_GetDataWidth(SPI_TypeDef *SPIx)
Get frame data width CR2 DS LL_SPI_GetDataWidth.
MODIFY_REG(hrtc->Instance->CR, RTC_CR_WUCKSEL,(uint32_t) WakeUpClock)
__STATIC_INLINE void LL_SPI_DisableDMAReq_TX(SPI_TypeDef *SPIx)
Disable DMA Tx CR2 TXDMAEN LL_SPI_DisableDMAReq_TX.
__STATIC_INLINE void uint32_t uint32_t BaudRate
__STATIC_INLINE void LL_SPI_DisableCRC(SPI_TypeDef *SPIx)
Disable CRC.
__STATIC_INLINE uint32_t LL_SPI_GetNSSMode(SPI_TypeDef *SPIx)
Get NSS mode CR1 SSM LL_SPI_GetNSSMode CR2 SSOE LL_SPI_GetNSSMode.
ErrorStatus LL_SPI_Init(SPI_TypeDef *SPIx, LL_SPI_InitTypeDef *SPI_InitStruct)
Initialize the SPI registers according to the specified parameters in SPI_InitStruct.
__STATIC_INLINE void LL_SPI_ClearFlag_FRE(SPI_TypeDef *SPIx)
Clear frame format error flag.
__STATIC_INLINE uint32_t LL_SPI_IsEnabledIT_TXE(SPI_TypeDef *SPIx)
Check if Tx buffer empty interrupt CR2 TXEIE LL_SPI_IsEnabledIT_TXE.
__STATIC_INLINE void LL_SPI_Enable(SPI_TypeDef *SPIx)
Enable SPI peripheral CR1 SPE LL_SPI_Enable.
__STATIC_INLINE void LL_SPI_SetMode(SPI_TypeDef *SPIx, uint32_t Mode)
Set SPI operation mode to Master or Slave.
__STATIC_INLINE void LL_SPI_EnableNSSPulseMgt(SPI_TypeDef *SPIx)
Enable NSS pulse management.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_BSY(SPI_TypeDef *SPIx)
Get busy flag.
SPI Init structures definition.
__STATIC_INLINE void LL_SPI_EnableIT_ERR(SPI_TypeDef *SPIx)
Enable error interrupt.
__STATIC_INLINE void LL_SPI_EnableCRC(SPI_TypeDef *SPIx)
Enable CRC.
__STATIC_INLINE uint32_t LL_SPI_IsActiveFlag_TXE(SPI_TypeDef *SPIx)
Check if Tx buffer is empty SR TXE LL_SPI_IsActiveFlag_TXE.
__STATIC_INLINE void LL_SPI_TransmitData16(SPI_TypeDef *SPIx, uint16_t TxData)
Write 16-Bits in the data register DR DR LL_SPI_TransmitData16.