The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_NUCLEO_L432KC/stm32l4xx_ll_swpmi.h@122:f9eeca106725, 2016-07-07 (annotated)
- Committer:
- Kojto
- Date:
- Thu Jul 07 14:34:11 2016 +0100
- Revision:
- 122:f9eeca106725
Release 122 of the mbed library
Changes:
- new targets - Nucleo L432KC, Beetle, Nucleo F446ZE, Nucleo L011K4
- Thread safety addition - mbed API should contain a statement about thread safety
- critical section API addition
- CAS API (core_util_atomic_incr/decr)
- DEVICE_ are generated from targets.json file, device.h deprecated
- Callback replaces FunctionPointer to provide std like interface
- mbed HAL API docs improvements
- toolchain - prexif attributes with MBED_
- add new attributes - packed, weak, forcedinline, align
- target.json - contains targets definitions
- ST - L1XX - Cube update to 1.5
- SPI clock selection fix (clock from APB domain)
- F7 - Cube update v1.4.0
- L0 - baudrate init fix
- L1 - Cube update v1.5
- F3 - baudrate init fix, 3 targets CAN support
- F4 - Cube update v1.12.0, 3 targets CAN support
- L4XX - Cube update v1.5.1
- F0 - update Cube to v1.5.0
- L4 - 2 targets (L476RG/VG) CAN support
- NXP - pwm clock fix for KSDK2 MCU
- LPC2368 - remove ARM toolchain support - due to regression
- KSDK2 - fix SPI , I2C address and repeat start
- Silabs - some fixes backported from mbed 3
- Renesas - RZ_A1H - SystemCoreClockUpdate addition
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kojto | 122:f9eeca106725 | 1 | /** |
Kojto | 122:f9eeca106725 | 2 | ****************************************************************************** |
Kojto | 122:f9eeca106725 | 3 | * @file stm32l4xx_ll_swpmi.h |
Kojto | 122:f9eeca106725 | 4 | * @author MCD Application Team |
Kojto | 122:f9eeca106725 | 5 | * @version V1.5.1 |
Kojto | 122:f9eeca106725 | 6 | * @date 31-May-2016 |
Kojto | 122:f9eeca106725 | 7 | * @brief Header file of SWPMI LL module. |
Kojto | 122:f9eeca106725 | 8 | ****************************************************************************** |
Kojto | 122:f9eeca106725 | 9 | * @attention |
Kojto | 122:f9eeca106725 | 10 | * |
Kojto | 122:f9eeca106725 | 11 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
Kojto | 122:f9eeca106725 | 12 | * |
Kojto | 122:f9eeca106725 | 13 | * Redistribution and use in source and binary forms, with or without modification, |
Kojto | 122:f9eeca106725 | 14 | * are permitted provided that the following conditions are met: |
Kojto | 122:f9eeca106725 | 15 | * 1. Redistributions of source code must retain the above copyright notice, |
Kojto | 122:f9eeca106725 | 16 | * this list of conditions and the following disclaimer. |
Kojto | 122:f9eeca106725 | 17 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
Kojto | 122:f9eeca106725 | 18 | * this list of conditions and the following disclaimer in the documentation |
Kojto | 122:f9eeca106725 | 19 | * and/or other materials provided with the distribution. |
Kojto | 122:f9eeca106725 | 20 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
Kojto | 122:f9eeca106725 | 21 | * may be used to endorse or promote products derived from this software |
Kojto | 122:f9eeca106725 | 22 | * without specific prior written permission. |
Kojto | 122:f9eeca106725 | 23 | * |
Kojto | 122:f9eeca106725 | 24 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
Kojto | 122:f9eeca106725 | 25 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
Kojto | 122:f9eeca106725 | 26 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
Kojto | 122:f9eeca106725 | 27 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
Kojto | 122:f9eeca106725 | 28 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
Kojto | 122:f9eeca106725 | 29 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
Kojto | 122:f9eeca106725 | 30 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
Kojto | 122:f9eeca106725 | 31 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
Kojto | 122:f9eeca106725 | 32 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
Kojto | 122:f9eeca106725 | 33 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
Kojto | 122:f9eeca106725 | 34 | * |
Kojto | 122:f9eeca106725 | 35 | ****************************************************************************** |
Kojto | 122:f9eeca106725 | 36 | */ |
Kojto | 122:f9eeca106725 | 37 | |
Kojto | 122:f9eeca106725 | 38 | /* Define to prevent recursive inclusion -------------------------------------*/ |
Kojto | 122:f9eeca106725 | 39 | #ifndef __STM32L4xx_LL_SWPMI_H |
Kojto | 122:f9eeca106725 | 40 | #define __STM32L4xx_LL_SWPMI_H |
Kojto | 122:f9eeca106725 | 41 | |
Kojto | 122:f9eeca106725 | 42 | #ifdef __cplusplus |
Kojto | 122:f9eeca106725 | 43 | extern "C" { |
Kojto | 122:f9eeca106725 | 44 | #endif |
Kojto | 122:f9eeca106725 | 45 | |
Kojto | 122:f9eeca106725 | 46 | /* Includes ------------------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 47 | #include "stm32l4xx.h" |
Kojto | 122:f9eeca106725 | 48 | |
Kojto | 122:f9eeca106725 | 49 | /** @addtogroup STM32L4xx_LL_Driver |
Kojto | 122:f9eeca106725 | 50 | * @{ |
Kojto | 122:f9eeca106725 | 51 | */ |
Kojto | 122:f9eeca106725 | 52 | |
Kojto | 122:f9eeca106725 | 53 | #if defined (SWPMI1) |
Kojto | 122:f9eeca106725 | 54 | |
Kojto | 122:f9eeca106725 | 55 | /** @defgroup SWPMI_LL SWPMI |
Kojto | 122:f9eeca106725 | 56 | * @{ |
Kojto | 122:f9eeca106725 | 57 | */ |
Kojto | 122:f9eeca106725 | 58 | |
Kojto | 122:f9eeca106725 | 59 | /* Private types -------------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 60 | /* Private variables ---------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 61 | /* Private constants ---------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 62 | /* Private macros ------------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 63 | #if defined(USE_FULL_LL_DRIVER) |
Kojto | 122:f9eeca106725 | 64 | /** @defgroup SWPMI_LL_Private_Macros SWPMI Private Macros |
Kojto | 122:f9eeca106725 | 65 | * @{ |
Kojto | 122:f9eeca106725 | 66 | */ |
Kojto | 122:f9eeca106725 | 67 | /** |
Kojto | 122:f9eeca106725 | 68 | * @} |
Kojto | 122:f9eeca106725 | 69 | */ |
Kojto | 122:f9eeca106725 | 70 | #endif /*USE_FULL_LL_DRIVER*/ |
Kojto | 122:f9eeca106725 | 71 | |
Kojto | 122:f9eeca106725 | 72 | /* Exported types ------------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 73 | #if defined(USE_FULL_LL_DRIVER) |
Kojto | 122:f9eeca106725 | 74 | /** @defgroup SWPMI_LL_ES_INIT SWPMI Exported Init structure |
Kojto | 122:f9eeca106725 | 75 | * @{ |
Kojto | 122:f9eeca106725 | 76 | */ |
Kojto | 122:f9eeca106725 | 77 | |
Kojto | 122:f9eeca106725 | 78 | /** |
Kojto | 122:f9eeca106725 | 79 | * @brief SWPMI Init structures definition |
Kojto | 122:f9eeca106725 | 80 | */ |
Kojto | 122:f9eeca106725 | 81 | typedef struct |
Kojto | 122:f9eeca106725 | 82 | { |
Kojto | 122:f9eeca106725 | 83 | uint32_t VoltageClass; /*!< Specifies the SWP Voltage Class. |
Kojto | 122:f9eeca106725 | 84 | This parameter can be a value of @ref SWPMI_LL_EC_VOLTAGE_CLASS |
Kojto | 122:f9eeca106725 | 85 | |
Kojto | 122:f9eeca106725 | 86 | This feature can be modified afterwards using unitary function @ref LL_SWPMI_SetVoltageClass. */ |
Kojto | 122:f9eeca106725 | 87 | |
Kojto | 122:f9eeca106725 | 88 | uint32_t BitRatePrescaler; /*!< Specifies the SWPMI bitrate prescaler. |
Kojto | 122:f9eeca106725 | 89 | This parameter must be a number between Min_Data=0 and Max_Data=63. |
Kojto | 122:f9eeca106725 | 90 | |
Kojto | 122:f9eeca106725 | 91 | The value can be calculated thanks to helper macro @ref __LL_SWPMI_CALC_BITRATE_PRESCALER |
Kojto | 122:f9eeca106725 | 92 | |
Kojto | 122:f9eeca106725 | 93 | This feature can be modified afterwards using unitary function @ref LL_SWPMI_SetBitRatePrescaler. */ |
Kojto | 122:f9eeca106725 | 94 | |
Kojto | 122:f9eeca106725 | 95 | uint32_t TxBufferingMode; /*!< Specifies the transmission buffering mode. |
Kojto | 122:f9eeca106725 | 96 | This parameter can be a value of @ref SWPMI_LL_EC_SW_BUFFER_TX |
Kojto | 122:f9eeca106725 | 97 | |
Kojto | 122:f9eeca106725 | 98 | This feature can be modified afterwards using unitary function @ref LL_SWPMI_SetTransmissionMode. */ |
Kojto | 122:f9eeca106725 | 99 | |
Kojto | 122:f9eeca106725 | 100 | uint32_t RxBufferingMode; /*!< Specifies the reception buffering mode. |
Kojto | 122:f9eeca106725 | 101 | This parameter can be a value of @ref SWPMI_LL_EC_SW_BUFFER_RX |
Kojto | 122:f9eeca106725 | 102 | |
Kojto | 122:f9eeca106725 | 103 | This feature can be modified afterwards using unitary function @ref LL_SWPMI_SetReceptionMode. */ |
Kojto | 122:f9eeca106725 | 104 | } LL_SWPMI_InitTypeDef; |
Kojto | 122:f9eeca106725 | 105 | |
Kojto | 122:f9eeca106725 | 106 | /** |
Kojto | 122:f9eeca106725 | 107 | * @} |
Kojto | 122:f9eeca106725 | 108 | */ |
Kojto | 122:f9eeca106725 | 109 | #endif /* USE_FULL_LL_DRIVER */ |
Kojto | 122:f9eeca106725 | 110 | |
Kojto | 122:f9eeca106725 | 111 | /* Exported constants --------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 112 | /** @defgroup SWPMI_LL_Exported_Constants SWPMI Exported Constants |
Kojto | 122:f9eeca106725 | 113 | * @{ |
Kojto | 122:f9eeca106725 | 114 | */ |
Kojto | 122:f9eeca106725 | 115 | |
Kojto | 122:f9eeca106725 | 116 | /** @defgroup SWPMI_LL_EC_CLEAR_FLAG Clear Flags Defines |
Kojto | 122:f9eeca106725 | 117 | * @brief Flags defines which can be used with LL_SWPMI_WriteReg function |
Kojto | 122:f9eeca106725 | 118 | * @{ |
Kojto | 122:f9eeca106725 | 119 | */ |
Kojto | 122:f9eeca106725 | 120 | #define LL_SWPMI_ICR_CRXBFF SWPMI_ICR_CRXBFF /*!< Clear receive buffer full flag */ |
Kojto | 122:f9eeca106725 | 121 | #define LL_SWPMI_ICR_CTXBEF SWPMI_ICR_CTXBEF /*!< Clear transmit buffer empty flag */ |
Kojto | 122:f9eeca106725 | 122 | #define LL_SWPMI_ICR_CRXBERF SWPMI_ICR_CRXBERF /*!< Clear receive CRC error flag */ |
Kojto | 122:f9eeca106725 | 123 | #define LL_SWPMI_ICR_CRXOVRF SWPMI_ICR_CRXOVRF /*!< Clear receive overrun error flag */ |
Kojto | 122:f9eeca106725 | 124 | #define LL_SWPMI_ICR_CTXUNRF SWPMI_ICR_CTXUNRF /*!< Clear transmit underrun error flag */ |
Kojto | 122:f9eeca106725 | 125 | #define LL_SWPMI_ICR_CTCF SWPMI_ICR_CTCF /*!< Clear transfer complete flag */ |
Kojto | 122:f9eeca106725 | 126 | #define LL_SWPMI_ICR_CSRF SWPMI_ICR_CSRF /*!< Clear slave resume flag */ |
Kojto | 122:f9eeca106725 | 127 | /** |
Kojto | 122:f9eeca106725 | 128 | * @} |
Kojto | 122:f9eeca106725 | 129 | */ |
Kojto | 122:f9eeca106725 | 130 | |
Kojto | 122:f9eeca106725 | 131 | /** @defgroup SWPMI_LL_EC_GET_FLAG Get Flags Defines |
Kojto | 122:f9eeca106725 | 132 | * @brief Flags defines which can be used with LL_SWPMI_ReadReg function |
Kojto | 122:f9eeca106725 | 133 | * @{ |
Kojto | 122:f9eeca106725 | 134 | */ |
Kojto | 122:f9eeca106725 | 135 | #define LL_SWPMI_ISR_RXBFF SWPMI_ISR_RXBFF /*!< Receive buffer full flag */ |
Kojto | 122:f9eeca106725 | 136 | #define LL_SWPMI_ISR_TXBEF SWPMI_ISR_TXBEF /*!< Transmit buffer empty flag */ |
Kojto | 122:f9eeca106725 | 137 | #define LL_SWPMI_ISR_RXBERF SWPMI_ISR_RXBERF /*!< Receive CRC error flag */ |
Kojto | 122:f9eeca106725 | 138 | #define LL_SWPMI_ISR_RXOVRF SWPMI_ISR_RXOVRF /*!< Receive overrun error flag */ |
Kojto | 122:f9eeca106725 | 139 | #define LL_SWPMI_ISR_TXUNRF SWPMI_ISR_TXUNRF /*!< Transmit underrun error flag */ |
Kojto | 122:f9eeca106725 | 140 | #define LL_SWPMI_ISR_RXNE SWPMI_ISR_RXNE /*!< Receive data register not empty */ |
Kojto | 122:f9eeca106725 | 141 | #define LL_SWPMI_ISR_TXE SWPMI_ISR_TXE /*!< Transmit data register empty */ |
Kojto | 122:f9eeca106725 | 142 | #define LL_SWPMI_ISR_TCF SWPMI_ISR_TCF /*!< Transfer complete flag */ |
Kojto | 122:f9eeca106725 | 143 | #define LL_SWPMI_ISR_SRF SWPMI_ISR_SRF /*!< Slave resume flag */ |
Kojto | 122:f9eeca106725 | 144 | #define LL_SWPMI_ISR_SUSP SWPMI_ISR_SUSP /*!< SUSPEND flag */ |
Kojto | 122:f9eeca106725 | 145 | #define LL_SWPMI_ISR_DEACTF SWPMI_ISR_DEACTF /*!< DEACTIVATED flag */ |
Kojto | 122:f9eeca106725 | 146 | /** |
Kojto | 122:f9eeca106725 | 147 | * @} |
Kojto | 122:f9eeca106725 | 148 | */ |
Kojto | 122:f9eeca106725 | 149 | |
Kojto | 122:f9eeca106725 | 150 | /** @defgroup SWPMI_LL_EC_IT IT Defines |
Kojto | 122:f9eeca106725 | 151 | * @brief IT defines which can be used with LL_SWPMI_ReadReg and LL_SWPMI_WriteReg functions |
Kojto | 122:f9eeca106725 | 152 | * @{ |
Kojto | 122:f9eeca106725 | 153 | */ |
Kojto | 122:f9eeca106725 | 154 | #define LL_SWPMI_IER_SRIE SWPMI_IER_SRIE /*!< Slave resume interrupt enable */ |
Kojto | 122:f9eeca106725 | 155 | #define LL_SWPMI_IER_TCIE SWPMI_IER_TCIE /*!< Transmit complete interrupt enable */ |
Kojto | 122:f9eeca106725 | 156 | #define LL_SWPMI_IER_TIE SWPMI_IER_TIE /*!< Transmit interrupt enable */ |
Kojto | 122:f9eeca106725 | 157 | #define LL_SWPMI_IER_RIE SWPMI_IER_RIE /*!< Receive interrupt enable */ |
Kojto | 122:f9eeca106725 | 158 | #define LL_SWPMI_IER_TXUNRIE SWPMI_IER_TXUNRIE /*!< Transmit underrun error interrupt enable */ |
Kojto | 122:f9eeca106725 | 159 | #define LL_SWPMI_IER_RXOVRIE SWPMI_IER_RXOVRIE /*!< Receive overrun error interrupt enable */ |
Kojto | 122:f9eeca106725 | 160 | #define LL_SWPMI_IER_RXBERIE SWPMI_IER_RXBERIE /*!< Receive CRC error interrupt enable */ |
Kojto | 122:f9eeca106725 | 161 | #define LL_SWPMI_IER_TXBEIE SWPMI_IER_TXBEIE /*!< Transmit buffer empty interrupt enable */ |
Kojto | 122:f9eeca106725 | 162 | #define LL_SWPMI_IER_RXBFIE SWPMI_IER_RXBFIE /*!< Receive buffer full interrupt enable */ |
Kojto | 122:f9eeca106725 | 163 | /** |
Kojto | 122:f9eeca106725 | 164 | * @} |
Kojto | 122:f9eeca106725 | 165 | */ |
Kojto | 122:f9eeca106725 | 166 | |
Kojto | 122:f9eeca106725 | 167 | /** @defgroup SWPMI_LL_EC_SW_BUFFER_RX SW BUFFER RX |
Kojto | 122:f9eeca106725 | 168 | * @{ |
Kojto | 122:f9eeca106725 | 169 | */ |
Kojto | 122:f9eeca106725 | 170 | #define LL_SWPMI_SW_BUFFER_RX_SINGLE ((uint32_t)0x00000000) /*!< Single software buffer mode for reception */ |
Kojto | 122:f9eeca106725 | 171 | #define LL_SWPMI_SW_BUFFER_RX_MULTI SWPMI_CR_RXMODE /*!< Multi software buffermode for reception */ |
Kojto | 122:f9eeca106725 | 172 | /** |
Kojto | 122:f9eeca106725 | 173 | * @} |
Kojto | 122:f9eeca106725 | 174 | */ |
Kojto | 122:f9eeca106725 | 175 | |
Kojto | 122:f9eeca106725 | 176 | /** @defgroup SWPMI_LL_EC_SW_BUFFER_TX SW BUFFER TX |
Kojto | 122:f9eeca106725 | 177 | * @{ |
Kojto | 122:f9eeca106725 | 178 | */ |
Kojto | 122:f9eeca106725 | 179 | #define LL_SWPMI_SW_BUFFER_TX_SINGLE ((uint32_t)0x00000000) /*!< Single software buffer mode for transmission */ |
Kojto | 122:f9eeca106725 | 180 | #define LL_SWPMI_SW_BUFFER_TX_MULTI SWPMI_CR_TXMODE /*!< Multi software buffermode for transmission */ |
Kojto | 122:f9eeca106725 | 181 | /** |
Kojto | 122:f9eeca106725 | 182 | * @} |
Kojto | 122:f9eeca106725 | 183 | */ |
Kojto | 122:f9eeca106725 | 184 | |
Kojto | 122:f9eeca106725 | 185 | /** @defgroup SWPMI_LL_EC_VOLTAGE_CLASS VOLTAGE CLASS |
Kojto | 122:f9eeca106725 | 186 | * @{ |
Kojto | 122:f9eeca106725 | 187 | */ |
Kojto | 122:f9eeca106725 | 188 | #define LL_SWPMI_VOLTAGE_CLASS_C ((uint32_t)0x00000000) /*!< SWPMI_IO uses directly VDD voltage to operate in class C */ |
Kojto | 122:f9eeca106725 | 189 | #define LL_SWPMI_VOLTAGE_CLASS_B SWPMI_OR_CLASS /*!< SWPMI_IO uses an internal voltage regulator to operate in class B */ |
Kojto | 122:f9eeca106725 | 190 | /** |
Kojto | 122:f9eeca106725 | 191 | * @} |
Kojto | 122:f9eeca106725 | 192 | */ |
Kojto | 122:f9eeca106725 | 193 | |
Kojto | 122:f9eeca106725 | 194 | /** @defgroup SWPMI_LL_EC_DMA_REG_DATA DMA register data |
Kojto | 122:f9eeca106725 | 195 | * @{ |
Kojto | 122:f9eeca106725 | 196 | */ |
Kojto | 122:f9eeca106725 | 197 | #define LL_SWPMI_DMA_REG_DATA_TRANSMIT (uint32_t)0 /*!< Get address of data register used for transmission */ |
Kojto | 122:f9eeca106725 | 198 | #define LL_SWPMI_DMA_REG_DATA_RECEIVE (uint32_t)1 /*!< Get address of data register used for reception */ |
Kojto | 122:f9eeca106725 | 199 | /** |
Kojto | 122:f9eeca106725 | 200 | * @} |
Kojto | 122:f9eeca106725 | 201 | */ |
Kojto | 122:f9eeca106725 | 202 | |
Kojto | 122:f9eeca106725 | 203 | /** |
Kojto | 122:f9eeca106725 | 204 | * @} |
Kojto | 122:f9eeca106725 | 205 | */ |
Kojto | 122:f9eeca106725 | 206 | |
Kojto | 122:f9eeca106725 | 207 | /* Exported macro ------------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 208 | /** @defgroup SWPMI_LL_Exported_Macros SWPMI Exported Macros |
Kojto | 122:f9eeca106725 | 209 | * @{ |
Kojto | 122:f9eeca106725 | 210 | */ |
Kojto | 122:f9eeca106725 | 211 | |
Kojto | 122:f9eeca106725 | 212 | /** @defgroup SWPMI_LL_EM_WRITE_READ Common Write and read registers Macros |
Kojto | 122:f9eeca106725 | 213 | * @{ |
Kojto | 122:f9eeca106725 | 214 | */ |
Kojto | 122:f9eeca106725 | 215 | |
Kojto | 122:f9eeca106725 | 216 | /** |
Kojto | 122:f9eeca106725 | 217 | * @brief Write a value in SWPMI register |
Kojto | 122:f9eeca106725 | 218 | * @param __INSTANCE__ SWPMI Instance |
Kojto | 122:f9eeca106725 | 219 | * @param __REG__ Register to be written |
Kojto | 122:f9eeca106725 | 220 | * @param __VALUE__ Value to be written in the register |
Kojto | 122:f9eeca106725 | 221 | * @retval None |
Kojto | 122:f9eeca106725 | 222 | */ |
Kojto | 122:f9eeca106725 | 223 | #define LL_SWPMI_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__)) |
Kojto | 122:f9eeca106725 | 224 | |
Kojto | 122:f9eeca106725 | 225 | /** |
Kojto | 122:f9eeca106725 | 226 | * @brief Read a value in SWPMI register |
Kojto | 122:f9eeca106725 | 227 | * @param __INSTANCE__ SWPMI Instance |
Kojto | 122:f9eeca106725 | 228 | * @param __REG__ Register to be read |
Kojto | 122:f9eeca106725 | 229 | * @retval Register value |
Kojto | 122:f9eeca106725 | 230 | */ |
Kojto | 122:f9eeca106725 | 231 | #define LL_SWPMI_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) |
Kojto | 122:f9eeca106725 | 232 | /** |
Kojto | 122:f9eeca106725 | 233 | * @} |
Kojto | 122:f9eeca106725 | 234 | */ |
Kojto | 122:f9eeca106725 | 235 | |
Kojto | 122:f9eeca106725 | 236 | /** @defgroup SWPMI_LL_EM_BitRate Bit rate calculation helper Macros |
Kojto | 122:f9eeca106725 | 237 | * @{ |
Kojto | 122:f9eeca106725 | 238 | */ |
Kojto | 122:f9eeca106725 | 239 | |
Kojto | 122:f9eeca106725 | 240 | /** |
Kojto | 122:f9eeca106725 | 241 | * @brief Helper macro to calculate bit rate value to set in BRR register (@ref LL_SWPMI_SetBitRatePrescaler function) |
Kojto | 122:f9eeca106725 | 242 | * @note ex: @ref __LL_SWPMI_CALC_BITRATE_PRESCALER(2000000, 80000000); |
Kojto | 122:f9eeca106725 | 243 | * @param __FSWP__ Within the following range: from 100 Kbit/s up to 2Mbit/s (in bit/s) |
Kojto | 122:f9eeca106725 | 244 | * @param __FSWPCLK__ PCLK or HSI frequency (in Hz) |
Kojto | 122:f9eeca106725 | 245 | * @retval Bitrate prescaler (BRR register) |
Kojto | 122:f9eeca106725 | 246 | */ |
Kojto | 122:f9eeca106725 | 247 | #define __LL_SWPMI_CALC_BITRATE_PRESCALER(__FSWP__, __FSWPCLK__) ((uint32_t)(((__FSWPCLK__) / ((__FSWP__) * 4)) - 1)) |
Kojto | 122:f9eeca106725 | 248 | |
Kojto | 122:f9eeca106725 | 249 | /** |
Kojto | 122:f9eeca106725 | 250 | * @} |
Kojto | 122:f9eeca106725 | 251 | */ |
Kojto | 122:f9eeca106725 | 252 | |
Kojto | 122:f9eeca106725 | 253 | /** |
Kojto | 122:f9eeca106725 | 254 | * @} |
Kojto | 122:f9eeca106725 | 255 | */ |
Kojto | 122:f9eeca106725 | 256 | |
Kojto | 122:f9eeca106725 | 257 | /* Exported functions --------------------------------------------------------*/ |
Kojto | 122:f9eeca106725 | 258 | /** @defgroup SWPMI_LL_Exported_Functions SWPMI Exported Functions |
Kojto | 122:f9eeca106725 | 259 | * @{ |
Kojto | 122:f9eeca106725 | 260 | */ |
Kojto | 122:f9eeca106725 | 261 | |
Kojto | 122:f9eeca106725 | 262 | /** @defgroup SWPMI_LL_EF_Configuration Configuration |
Kojto | 122:f9eeca106725 | 263 | * @{ |
Kojto | 122:f9eeca106725 | 264 | */ |
Kojto | 122:f9eeca106725 | 265 | |
Kojto | 122:f9eeca106725 | 266 | /** |
Kojto | 122:f9eeca106725 | 267 | * @brief Set Reception buffering mode |
Kojto | 122:f9eeca106725 | 268 | * @note If Multi software buffer mode is chosen, RXDMA bits must also be set. |
Kojto | 122:f9eeca106725 | 269 | * @rmtoll CR RXMODE LL_SWPMI_SetReceptionMode |
Kojto | 122:f9eeca106725 | 270 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 271 | * @param RxBufferingMode This parameter can be one of the following values: |
Kojto | 122:f9eeca106725 | 272 | * @arg @ref LL_SWPMI_SW_BUFFER_RX_SINGLE |
Kojto | 122:f9eeca106725 | 273 | * @arg @ref LL_SWPMI_SW_BUFFER_RX_MULTI |
Kojto | 122:f9eeca106725 | 274 | * @retval None |
Kojto | 122:f9eeca106725 | 275 | */ |
Kojto | 122:f9eeca106725 | 276 | __STATIC_INLINE void LL_SWPMI_SetReceptionMode(SWPMI_TypeDef *SWPMIx, uint32_t RxBufferingMode) |
Kojto | 122:f9eeca106725 | 277 | { |
Kojto | 122:f9eeca106725 | 278 | MODIFY_REG(SWPMIx->CR, SWPMI_CR_RXMODE, RxBufferingMode); |
Kojto | 122:f9eeca106725 | 279 | } |
Kojto | 122:f9eeca106725 | 280 | |
Kojto | 122:f9eeca106725 | 281 | /** |
Kojto | 122:f9eeca106725 | 282 | * @brief Get Reception buffering mode |
Kojto | 122:f9eeca106725 | 283 | * @rmtoll CR RXMODE LL_SWPMI_GetReceptionMode |
Kojto | 122:f9eeca106725 | 284 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 285 | * @retval Returned value can be one of the following values: |
Kojto | 122:f9eeca106725 | 286 | * @arg @ref LL_SWPMI_SW_BUFFER_RX_SINGLE |
Kojto | 122:f9eeca106725 | 287 | * @arg @ref LL_SWPMI_SW_BUFFER_RX_MULTI |
Kojto | 122:f9eeca106725 | 288 | */ |
Kojto | 122:f9eeca106725 | 289 | __STATIC_INLINE uint32_t LL_SWPMI_GetReceptionMode(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 290 | { |
Kojto | 122:f9eeca106725 | 291 | return (uint32_t)(READ_BIT(SWPMIx->CR, SWPMI_CR_RXMODE)); |
Kojto | 122:f9eeca106725 | 292 | } |
Kojto | 122:f9eeca106725 | 293 | |
Kojto | 122:f9eeca106725 | 294 | /** |
Kojto | 122:f9eeca106725 | 295 | * @brief Set Transmission buffering mode |
Kojto | 122:f9eeca106725 | 296 | * @note If Multi software buffer mode is chosen, TXDMA bits must also be set. |
Kojto | 122:f9eeca106725 | 297 | * @rmtoll CR TXMODE LL_SWPMI_SetTransmissionMode |
Kojto | 122:f9eeca106725 | 298 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 299 | * @param TxBufferingMode This parameter can be one of the following values: |
Kojto | 122:f9eeca106725 | 300 | * @arg @ref LL_SWPMI_SW_BUFFER_TX_SINGLE |
Kojto | 122:f9eeca106725 | 301 | * @arg @ref LL_SWPMI_SW_BUFFER_TX_MULTI |
Kojto | 122:f9eeca106725 | 302 | * @retval None |
Kojto | 122:f9eeca106725 | 303 | */ |
Kojto | 122:f9eeca106725 | 304 | __STATIC_INLINE void LL_SWPMI_SetTransmissionMode(SWPMI_TypeDef *SWPMIx, uint32_t TxBufferingMode) |
Kojto | 122:f9eeca106725 | 305 | { |
Kojto | 122:f9eeca106725 | 306 | MODIFY_REG(SWPMIx->CR, SWPMI_CR_TXMODE, TxBufferingMode); |
Kojto | 122:f9eeca106725 | 307 | } |
Kojto | 122:f9eeca106725 | 308 | |
Kojto | 122:f9eeca106725 | 309 | /** |
Kojto | 122:f9eeca106725 | 310 | * @brief Get Transmission buffering mode |
Kojto | 122:f9eeca106725 | 311 | * @rmtoll CR TXMODE LL_SWPMI_GetTransmissionMode |
Kojto | 122:f9eeca106725 | 312 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 313 | * @retval Returned value can be one of the following values: |
Kojto | 122:f9eeca106725 | 314 | * @arg @ref LL_SWPMI_SW_BUFFER_TX_SINGLE |
Kojto | 122:f9eeca106725 | 315 | * @arg @ref LL_SWPMI_SW_BUFFER_TX_MULTI |
Kojto | 122:f9eeca106725 | 316 | */ |
Kojto | 122:f9eeca106725 | 317 | __STATIC_INLINE uint32_t LL_SWPMI_GetTransmissionMode(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 318 | { |
Kojto | 122:f9eeca106725 | 319 | return (uint32_t)(READ_BIT(SWPMIx->CR, SWPMI_CR_TXMODE)); |
Kojto | 122:f9eeca106725 | 320 | } |
Kojto | 122:f9eeca106725 | 321 | |
Kojto | 122:f9eeca106725 | 322 | /** |
Kojto | 122:f9eeca106725 | 323 | * @brief Enable loopback mode |
Kojto | 122:f9eeca106725 | 324 | * @rmtoll CR LPBK LL_SWPMI_EnableLoopback |
Kojto | 122:f9eeca106725 | 325 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 326 | * @retval None |
Kojto | 122:f9eeca106725 | 327 | */ |
Kojto | 122:f9eeca106725 | 328 | __STATIC_INLINE void LL_SWPMI_EnableLoopback(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 329 | { |
Kojto | 122:f9eeca106725 | 330 | SET_BIT(SWPMIx->CR, SWPMI_CR_LPBK); |
Kojto | 122:f9eeca106725 | 331 | } |
Kojto | 122:f9eeca106725 | 332 | |
Kojto | 122:f9eeca106725 | 333 | /** |
Kojto | 122:f9eeca106725 | 334 | * @brief Disable loopback mode |
Kojto | 122:f9eeca106725 | 335 | * @rmtoll CR LPBK LL_SWPMI_DisableLoopback |
Kojto | 122:f9eeca106725 | 336 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 337 | * @retval None |
Kojto | 122:f9eeca106725 | 338 | */ |
Kojto | 122:f9eeca106725 | 339 | __STATIC_INLINE void LL_SWPMI_DisableLoopback(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 340 | { |
Kojto | 122:f9eeca106725 | 341 | CLEAR_BIT(SWPMIx->CR, SWPMI_CR_LPBK); |
Kojto | 122:f9eeca106725 | 342 | } |
Kojto | 122:f9eeca106725 | 343 | |
Kojto | 122:f9eeca106725 | 344 | /** |
Kojto | 122:f9eeca106725 | 345 | * @brief Activate Single wire protocol bus (SUSPENDED or ACTIVATED state) |
Kojto | 122:f9eeca106725 | 346 | * @note SWP bus stays in the ACTIVATED state as long as there is a communication |
Kojto | 122:f9eeca106725 | 347 | * with the slave, either in transmission or in reception. The SWP bus switches back |
Kojto | 122:f9eeca106725 | 348 | * to the SUSPENDED state as soon as there is no more transmission or reception |
Kojto | 122:f9eeca106725 | 349 | * activity, after 7 idle bits. |
Kojto | 122:f9eeca106725 | 350 | * @rmtoll CR SWPACT LL_SWPMI_Activate |
Kojto | 122:f9eeca106725 | 351 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 352 | * @retval None |
Kojto | 122:f9eeca106725 | 353 | */ |
Kojto | 122:f9eeca106725 | 354 | __STATIC_INLINE void LL_SWPMI_Activate(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 355 | { |
Kojto | 122:f9eeca106725 | 356 | /* In order to activate SWP again, the software must clear DEACT bit*/ |
Kojto | 122:f9eeca106725 | 357 | CLEAR_BIT(SWPMIx->CR, SWPMI_CR_DEACT); |
Kojto | 122:f9eeca106725 | 358 | |
Kojto | 122:f9eeca106725 | 359 | /* Set SWACT bit */ |
Kojto | 122:f9eeca106725 | 360 | SET_BIT(SWPMIx->CR, SWPMI_CR_SWPACT); |
Kojto | 122:f9eeca106725 | 361 | } |
Kojto | 122:f9eeca106725 | 362 | |
Kojto | 122:f9eeca106725 | 363 | /** |
Kojto | 122:f9eeca106725 | 364 | * @brief Check if Single wire protocol bus is in ACTIVATED state. |
Kojto | 122:f9eeca106725 | 365 | * @rmtoll CR SWPACT LL_SWPMI_Activate |
Kojto | 122:f9eeca106725 | 366 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 367 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 368 | */ |
Kojto | 122:f9eeca106725 | 369 | __STATIC_INLINE uint32_t LL_SWPMI_IsActivated(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 370 | { |
Kojto | 122:f9eeca106725 | 371 | return (READ_BIT(SWPMIx->CR, SWPMI_CR_SWPACT) == (SWPMI_CR_SWPACT)); |
Kojto | 122:f9eeca106725 | 372 | } |
Kojto | 122:f9eeca106725 | 373 | |
Kojto | 122:f9eeca106725 | 374 | /** |
Kojto | 122:f9eeca106725 | 375 | * @brief Deactivate immediately Single wire protocol bus (immediate transition to |
Kojto | 122:f9eeca106725 | 376 | * DEACTIVATED state) |
Kojto | 122:f9eeca106725 | 377 | * @rmtoll CR SWPACT LL_SWPMI_Deactivate |
Kojto | 122:f9eeca106725 | 378 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 379 | * @retval None |
Kojto | 122:f9eeca106725 | 380 | */ |
Kojto | 122:f9eeca106725 | 381 | __STATIC_INLINE void LL_SWPMI_Deactivate(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 382 | { |
Kojto | 122:f9eeca106725 | 383 | CLEAR_BIT(SWPMIx->CR, SWPMI_CR_SWPACT); |
Kojto | 122:f9eeca106725 | 384 | } |
Kojto | 122:f9eeca106725 | 385 | |
Kojto | 122:f9eeca106725 | 386 | /** |
Kojto | 122:f9eeca106725 | 387 | * @brief Request a deactivation of Single wire protocol bus (request to go in DEACTIVATED |
Kojto | 122:f9eeca106725 | 388 | * state if no resume from slave) |
Kojto | 122:f9eeca106725 | 389 | * @rmtoll CR DEACT LL_SWPMI_RequestDeactivation |
Kojto | 122:f9eeca106725 | 390 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 391 | * @retval None |
Kojto | 122:f9eeca106725 | 392 | */ |
Kojto | 122:f9eeca106725 | 393 | __STATIC_INLINE void LL_SWPMI_RequestDeactivation(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 394 | { |
Kojto | 122:f9eeca106725 | 395 | SET_BIT(SWPMIx->CR, SWPMI_CR_DEACT); |
Kojto | 122:f9eeca106725 | 396 | } |
Kojto | 122:f9eeca106725 | 397 | |
Kojto | 122:f9eeca106725 | 398 | /** |
Kojto | 122:f9eeca106725 | 399 | * @brief Set Bitrate prescaler SWPMI_freq = SWPMI_clk / (((BitRate) + 1) * 4) |
Kojto | 122:f9eeca106725 | 400 | * @rmtoll BRR BR LL_SWPMI_SetBitRatePrescaler |
Kojto | 122:f9eeca106725 | 401 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 402 | * @param BitRatePrescaler A number between Min_Data=0 and Max_Data=63 |
Kojto | 122:f9eeca106725 | 403 | * @retval None |
Kojto | 122:f9eeca106725 | 404 | */ |
Kojto | 122:f9eeca106725 | 405 | __STATIC_INLINE void LL_SWPMI_SetBitRatePrescaler(SWPMI_TypeDef *SWPMIx, uint32_t BitRatePrescaler) |
Kojto | 122:f9eeca106725 | 406 | { |
Kojto | 122:f9eeca106725 | 407 | WRITE_REG(SWPMIx->BRR, BitRatePrescaler); |
Kojto | 122:f9eeca106725 | 408 | } |
Kojto | 122:f9eeca106725 | 409 | |
Kojto | 122:f9eeca106725 | 410 | /** |
Kojto | 122:f9eeca106725 | 411 | * @brief Get Bitrate prescaler |
Kojto | 122:f9eeca106725 | 412 | * @rmtoll BRR BR LL_SWPMI_GetBitRatePrescaler |
Kojto | 122:f9eeca106725 | 413 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 414 | * @retval A number between Min_Data=0 and Max_Data=63 |
Kojto | 122:f9eeca106725 | 415 | */ |
Kojto | 122:f9eeca106725 | 416 | __STATIC_INLINE uint32_t LL_SWPMI_GetBitRatePrescaler(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 417 | { |
Kojto | 122:f9eeca106725 | 418 | return (uint32_t)(READ_BIT(SWPMIx->BRR, SWPMI_BRR_BR)); |
Kojto | 122:f9eeca106725 | 419 | } |
Kojto | 122:f9eeca106725 | 420 | |
Kojto | 122:f9eeca106725 | 421 | /** |
Kojto | 122:f9eeca106725 | 422 | * @brief Set SWP Voltage Class |
Kojto | 122:f9eeca106725 | 423 | * @rmtoll OR CLASS LL_SWPMI_SetVoltageClass |
Kojto | 122:f9eeca106725 | 424 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 425 | * @param VoltageClass This parameter can be one of the following values: |
Kojto | 122:f9eeca106725 | 426 | * @arg @ref LL_SWPMI_VOLTAGE_CLASS_C |
Kojto | 122:f9eeca106725 | 427 | * @arg @ref LL_SWPMI_VOLTAGE_CLASS_B |
Kojto | 122:f9eeca106725 | 428 | * @retval None |
Kojto | 122:f9eeca106725 | 429 | */ |
Kojto | 122:f9eeca106725 | 430 | __STATIC_INLINE void LL_SWPMI_SetVoltageClass(SWPMI_TypeDef *SWPMIx, uint32_t VoltageClass) |
Kojto | 122:f9eeca106725 | 431 | { |
Kojto | 122:f9eeca106725 | 432 | MODIFY_REG(SWPMIx->OR, SWPMI_OR_CLASS, VoltageClass); |
Kojto | 122:f9eeca106725 | 433 | } |
Kojto | 122:f9eeca106725 | 434 | |
Kojto | 122:f9eeca106725 | 435 | /** |
Kojto | 122:f9eeca106725 | 436 | * @brief Get SWP Voltage Class |
Kojto | 122:f9eeca106725 | 437 | * @rmtoll OR CLASS LL_SWPMI_GetVoltageClass |
Kojto | 122:f9eeca106725 | 438 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 439 | * @retval Returned value can be one of the following values: |
Kojto | 122:f9eeca106725 | 440 | * @arg @ref LL_SWPMI_VOLTAGE_CLASS_C |
Kojto | 122:f9eeca106725 | 441 | * @arg @ref LL_SWPMI_VOLTAGE_CLASS_B |
Kojto | 122:f9eeca106725 | 442 | */ |
Kojto | 122:f9eeca106725 | 443 | __STATIC_INLINE uint32_t LL_SWPMI_GetVoltageClass(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 444 | { |
Kojto | 122:f9eeca106725 | 445 | return (uint32_t)(READ_BIT(SWPMIx->OR, SWPMI_OR_CLASS)); |
Kojto | 122:f9eeca106725 | 446 | } |
Kojto | 122:f9eeca106725 | 447 | |
Kojto | 122:f9eeca106725 | 448 | /** |
Kojto | 122:f9eeca106725 | 449 | * @} |
Kojto | 122:f9eeca106725 | 450 | */ |
Kojto | 122:f9eeca106725 | 451 | |
Kojto | 122:f9eeca106725 | 452 | /** @defgroup SWPMI_LL_EF_FLAG_Management FLAG_Management |
Kojto | 122:f9eeca106725 | 453 | * @{ |
Kojto | 122:f9eeca106725 | 454 | */ |
Kojto | 122:f9eeca106725 | 455 | |
Kojto | 122:f9eeca106725 | 456 | /** |
Kojto | 122:f9eeca106725 | 457 | * @brief Check if the last word of the frame under reception has arrived in SWPMI_RDR. |
Kojto | 122:f9eeca106725 | 458 | * @rmtoll ISR RXBFF LL_SWPMI_IsActiveFlag_RXBF |
Kojto | 122:f9eeca106725 | 459 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 460 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 461 | */ |
Kojto | 122:f9eeca106725 | 462 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_RXBF(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 463 | { |
Kojto | 122:f9eeca106725 | 464 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_RXBFF) == (SWPMI_ISR_RXBFF)); |
Kojto | 122:f9eeca106725 | 465 | } |
Kojto | 122:f9eeca106725 | 466 | |
Kojto | 122:f9eeca106725 | 467 | /** |
Kojto | 122:f9eeca106725 | 468 | * @brief Check if Frame transmission buffer has been emptied |
Kojto | 122:f9eeca106725 | 469 | * @rmtoll ISR TXBEF LL_SWPMI_IsActiveFlag_TXBE |
Kojto | 122:f9eeca106725 | 470 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 471 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 472 | */ |
Kojto | 122:f9eeca106725 | 473 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_TXBE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 474 | { |
Kojto | 122:f9eeca106725 | 475 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_TXBEF) == (SWPMI_ISR_TXBEF)); |
Kojto | 122:f9eeca106725 | 476 | } |
Kojto | 122:f9eeca106725 | 477 | |
Kojto | 122:f9eeca106725 | 478 | /** |
Kojto | 122:f9eeca106725 | 479 | * @brief Check if CRC error in reception has been detected |
Kojto | 122:f9eeca106725 | 480 | * @rmtoll ISR RXBERF LL_SWPMI_IsActiveFlag_RXBER |
Kojto | 122:f9eeca106725 | 481 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 482 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 483 | */ |
Kojto | 122:f9eeca106725 | 484 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_RXBER(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 485 | { |
Kojto | 122:f9eeca106725 | 486 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_RXBERF) == (SWPMI_ISR_RXBERF)); |
Kojto | 122:f9eeca106725 | 487 | } |
Kojto | 122:f9eeca106725 | 488 | |
Kojto | 122:f9eeca106725 | 489 | /** |
Kojto | 122:f9eeca106725 | 490 | * @brief Check if Overrun in reception has been detected |
Kojto | 122:f9eeca106725 | 491 | * @rmtoll ISR RXOVRF LL_SWPMI_IsActiveFlag_RXOVR |
Kojto | 122:f9eeca106725 | 492 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 493 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 494 | */ |
Kojto | 122:f9eeca106725 | 495 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_RXOVR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 496 | { |
Kojto | 122:f9eeca106725 | 497 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_RXOVRF) == (SWPMI_ISR_RXOVRF)); |
Kojto | 122:f9eeca106725 | 498 | } |
Kojto | 122:f9eeca106725 | 499 | |
Kojto | 122:f9eeca106725 | 500 | /** |
Kojto | 122:f9eeca106725 | 501 | * @brief Check if underrun error in transmission has been detected |
Kojto | 122:f9eeca106725 | 502 | * @rmtoll ISR TXUNRF LL_SWPMI_IsActiveFlag_TXUNR |
Kojto | 122:f9eeca106725 | 503 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 504 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 505 | */ |
Kojto | 122:f9eeca106725 | 506 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_TXUNR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 507 | { |
Kojto | 122:f9eeca106725 | 508 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_TXUNRF) == (SWPMI_ISR_TXUNRF)); |
Kojto | 122:f9eeca106725 | 509 | } |
Kojto | 122:f9eeca106725 | 510 | |
Kojto | 122:f9eeca106725 | 511 | /** |
Kojto | 122:f9eeca106725 | 512 | * @brief Check if Receive data register not empty (it means that Received data is ready |
Kojto | 122:f9eeca106725 | 513 | * to be read in the SWPMI_RDR register) |
Kojto | 122:f9eeca106725 | 514 | * @rmtoll ISR RXNE LL_SWPMI_IsActiveFlag_RXNE |
Kojto | 122:f9eeca106725 | 515 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 516 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 517 | */ |
Kojto | 122:f9eeca106725 | 518 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_RXNE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 519 | { |
Kojto | 122:f9eeca106725 | 520 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_RXNE) == (SWPMI_ISR_RXNE)); |
Kojto | 122:f9eeca106725 | 521 | } |
Kojto | 122:f9eeca106725 | 522 | |
Kojto | 122:f9eeca106725 | 523 | /** |
Kojto | 122:f9eeca106725 | 524 | * @brief Check if Transmit data register is empty (it means that Data written in transmit |
Kojto | 122:f9eeca106725 | 525 | * data register SWPMI_TDR has been transmitted and SWPMI_TDR can be written to again) |
Kojto | 122:f9eeca106725 | 526 | * @rmtoll ISR TXE LL_SWPMI_IsActiveFlag_TXE |
Kojto | 122:f9eeca106725 | 527 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 528 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 529 | */ |
Kojto | 122:f9eeca106725 | 530 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_TXE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 531 | { |
Kojto | 122:f9eeca106725 | 532 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_TXE) == (SWPMI_ISR_TXE)); |
Kojto | 122:f9eeca106725 | 533 | } |
Kojto | 122:f9eeca106725 | 534 | |
Kojto | 122:f9eeca106725 | 535 | /** |
Kojto | 122:f9eeca106725 | 536 | * @brief Check if Both transmission and reception are completed and SWP is switched to |
Kojto | 122:f9eeca106725 | 537 | * the SUSPENDED state |
Kojto | 122:f9eeca106725 | 538 | * @rmtoll ISR TCF LL_SWPMI_IsActiveFlag_TC |
Kojto | 122:f9eeca106725 | 539 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 540 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 541 | */ |
Kojto | 122:f9eeca106725 | 542 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_TC(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 543 | { |
Kojto | 122:f9eeca106725 | 544 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_TCF) == (SWPMI_ISR_TCF)); |
Kojto | 122:f9eeca106725 | 545 | } |
Kojto | 122:f9eeca106725 | 546 | |
Kojto | 122:f9eeca106725 | 547 | /** |
Kojto | 122:f9eeca106725 | 548 | * @brief Check if a Resume by slave state has been detected during the SWP bus SUSPENDED |
Kojto | 122:f9eeca106725 | 549 | * state |
Kojto | 122:f9eeca106725 | 550 | * @rmtoll ISR SRF LL_SWPMI_IsActiveFlag_SR |
Kojto | 122:f9eeca106725 | 551 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 552 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 553 | */ |
Kojto | 122:f9eeca106725 | 554 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_SR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 555 | { |
Kojto | 122:f9eeca106725 | 556 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_SRF) == (SWPMI_ISR_SRF)); |
Kojto | 122:f9eeca106725 | 557 | } |
Kojto | 122:f9eeca106725 | 558 | |
Kojto | 122:f9eeca106725 | 559 | /** |
Kojto | 122:f9eeca106725 | 560 | * @brief Check if SWP bus is in SUSPENDED or DEACTIVATED state |
Kojto | 122:f9eeca106725 | 561 | * @rmtoll ISR SUSP LL_SWPMI_IsActiveFlag_SUSP |
Kojto | 122:f9eeca106725 | 562 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 563 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 564 | */ |
Kojto | 122:f9eeca106725 | 565 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_SUSP(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 566 | { |
Kojto | 122:f9eeca106725 | 567 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_SUSP) == (SWPMI_ISR_SUSP)); |
Kojto | 122:f9eeca106725 | 568 | } |
Kojto | 122:f9eeca106725 | 569 | |
Kojto | 122:f9eeca106725 | 570 | /** |
Kojto | 122:f9eeca106725 | 571 | * @brief Check if SWP bus is in DEACTIVATED state |
Kojto | 122:f9eeca106725 | 572 | * @rmtoll ISR DEACTF LL_SWPMI_IsActiveFlag_DEACT |
Kojto | 122:f9eeca106725 | 573 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 574 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 575 | */ |
Kojto | 122:f9eeca106725 | 576 | __STATIC_INLINE uint32_t LL_SWPMI_IsActiveFlag_DEACT(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 577 | { |
Kojto | 122:f9eeca106725 | 578 | return (READ_BIT(SWPMIx->ISR, SWPMI_ISR_DEACTF) == (SWPMI_ISR_DEACTF)); |
Kojto | 122:f9eeca106725 | 579 | } |
Kojto | 122:f9eeca106725 | 580 | |
Kojto | 122:f9eeca106725 | 581 | /** |
Kojto | 122:f9eeca106725 | 582 | * @brief Clear receive buffer full flag |
Kojto | 122:f9eeca106725 | 583 | * @rmtoll ICR CRXBFF LL_SWPMI_ClearFlag_RXBF |
Kojto | 122:f9eeca106725 | 584 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 585 | * @retval None |
Kojto | 122:f9eeca106725 | 586 | */ |
Kojto | 122:f9eeca106725 | 587 | __STATIC_INLINE void LL_SWPMI_ClearFlag_RXBF(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 588 | { |
Kojto | 122:f9eeca106725 | 589 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CRXBFF); |
Kojto | 122:f9eeca106725 | 590 | } |
Kojto | 122:f9eeca106725 | 591 | |
Kojto | 122:f9eeca106725 | 592 | /** |
Kojto | 122:f9eeca106725 | 593 | * @brief Clear transmit buffer empty flag |
Kojto | 122:f9eeca106725 | 594 | * @rmtoll ICR CTXBEF LL_SWPMI_ClearFlag_TXBE |
Kojto | 122:f9eeca106725 | 595 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 596 | * @retval None |
Kojto | 122:f9eeca106725 | 597 | */ |
Kojto | 122:f9eeca106725 | 598 | __STATIC_INLINE void LL_SWPMI_ClearFlag_TXBE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 599 | { |
Kojto | 122:f9eeca106725 | 600 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CTXBEF); |
Kojto | 122:f9eeca106725 | 601 | } |
Kojto | 122:f9eeca106725 | 602 | |
Kojto | 122:f9eeca106725 | 603 | /** |
Kojto | 122:f9eeca106725 | 604 | * @brief Clear receive CRC error flag |
Kojto | 122:f9eeca106725 | 605 | * @rmtoll ICR CRXBERF LL_SWPMI_ClearFlag_RXBER |
Kojto | 122:f9eeca106725 | 606 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 607 | * @retval None |
Kojto | 122:f9eeca106725 | 608 | */ |
Kojto | 122:f9eeca106725 | 609 | __STATIC_INLINE void LL_SWPMI_ClearFlag_RXBER(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 610 | { |
Kojto | 122:f9eeca106725 | 611 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CRXBERF); |
Kojto | 122:f9eeca106725 | 612 | } |
Kojto | 122:f9eeca106725 | 613 | |
Kojto | 122:f9eeca106725 | 614 | /** |
Kojto | 122:f9eeca106725 | 615 | * @brief Clear receive overrun error flag |
Kojto | 122:f9eeca106725 | 616 | * @rmtoll ICR CRXOVRF LL_SWPMI_ClearFlag_RXOVR |
Kojto | 122:f9eeca106725 | 617 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 618 | * @retval None |
Kojto | 122:f9eeca106725 | 619 | */ |
Kojto | 122:f9eeca106725 | 620 | __STATIC_INLINE void LL_SWPMI_ClearFlag_RXOVR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 621 | { |
Kojto | 122:f9eeca106725 | 622 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CRXOVRF); |
Kojto | 122:f9eeca106725 | 623 | } |
Kojto | 122:f9eeca106725 | 624 | |
Kojto | 122:f9eeca106725 | 625 | /** |
Kojto | 122:f9eeca106725 | 626 | * @brief Clear transmit underrun error flag |
Kojto | 122:f9eeca106725 | 627 | * @rmtoll ICR CTXUNRF LL_SWPMI_ClearFlag_TXUNR |
Kojto | 122:f9eeca106725 | 628 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 629 | * @retval None |
Kojto | 122:f9eeca106725 | 630 | */ |
Kojto | 122:f9eeca106725 | 631 | __STATIC_INLINE void LL_SWPMI_ClearFlag_TXUNR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 632 | { |
Kojto | 122:f9eeca106725 | 633 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CTXUNRF); |
Kojto | 122:f9eeca106725 | 634 | } |
Kojto | 122:f9eeca106725 | 635 | |
Kojto | 122:f9eeca106725 | 636 | /** |
Kojto | 122:f9eeca106725 | 637 | * @brief Clear transfer complete flag |
Kojto | 122:f9eeca106725 | 638 | * @rmtoll ICR CTCF LL_SWPMI_ClearFlag_TC |
Kojto | 122:f9eeca106725 | 639 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 640 | * @retval None |
Kojto | 122:f9eeca106725 | 641 | */ |
Kojto | 122:f9eeca106725 | 642 | __STATIC_INLINE void LL_SWPMI_ClearFlag_TC(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 643 | { |
Kojto | 122:f9eeca106725 | 644 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CTCF); |
Kojto | 122:f9eeca106725 | 645 | } |
Kojto | 122:f9eeca106725 | 646 | |
Kojto | 122:f9eeca106725 | 647 | /** |
Kojto | 122:f9eeca106725 | 648 | * @brief Clear slave resume flag |
Kojto | 122:f9eeca106725 | 649 | * @rmtoll ICR CSRF LL_SWPMI_ClearFlag_SR |
Kojto | 122:f9eeca106725 | 650 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 651 | * @retval None |
Kojto | 122:f9eeca106725 | 652 | */ |
Kojto | 122:f9eeca106725 | 653 | __STATIC_INLINE void LL_SWPMI_ClearFlag_SR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 654 | { |
Kojto | 122:f9eeca106725 | 655 | WRITE_REG(SWPMIx->ICR, SWPMI_ICR_CSRF); |
Kojto | 122:f9eeca106725 | 656 | } |
Kojto | 122:f9eeca106725 | 657 | |
Kojto | 122:f9eeca106725 | 658 | /** |
Kojto | 122:f9eeca106725 | 659 | * @} |
Kojto | 122:f9eeca106725 | 660 | */ |
Kojto | 122:f9eeca106725 | 661 | |
Kojto | 122:f9eeca106725 | 662 | /** @defgroup SWPMI_LL_EF_IT_Management IT_Management |
Kojto | 122:f9eeca106725 | 663 | * @{ |
Kojto | 122:f9eeca106725 | 664 | */ |
Kojto | 122:f9eeca106725 | 665 | |
Kojto | 122:f9eeca106725 | 666 | /** |
Kojto | 122:f9eeca106725 | 667 | * @brief Enable Slave resume interrupt |
Kojto | 122:f9eeca106725 | 668 | * @rmtoll IER SRIE LL_SWPMI_EnableIT_SR |
Kojto | 122:f9eeca106725 | 669 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 670 | * @retval None |
Kojto | 122:f9eeca106725 | 671 | */ |
Kojto | 122:f9eeca106725 | 672 | __STATIC_INLINE void LL_SWPMI_EnableIT_SR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 673 | { |
Kojto | 122:f9eeca106725 | 674 | SET_BIT(SWPMIx->IER, SWPMI_IER_SRIE); |
Kojto | 122:f9eeca106725 | 675 | } |
Kojto | 122:f9eeca106725 | 676 | |
Kojto | 122:f9eeca106725 | 677 | /** |
Kojto | 122:f9eeca106725 | 678 | * @brief Enable Transmit complete interrupt |
Kojto | 122:f9eeca106725 | 679 | * @rmtoll IER TCIE LL_SWPMI_EnableIT_TC |
Kojto | 122:f9eeca106725 | 680 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 681 | * @retval None |
Kojto | 122:f9eeca106725 | 682 | */ |
Kojto | 122:f9eeca106725 | 683 | __STATIC_INLINE void LL_SWPMI_EnableIT_TC(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 684 | { |
Kojto | 122:f9eeca106725 | 685 | SET_BIT(SWPMIx->IER, SWPMI_IER_TCIE); |
Kojto | 122:f9eeca106725 | 686 | } |
Kojto | 122:f9eeca106725 | 687 | |
Kojto | 122:f9eeca106725 | 688 | /** |
Kojto | 122:f9eeca106725 | 689 | * @brief Enable Transmit interrupt |
Kojto | 122:f9eeca106725 | 690 | * @rmtoll IER TIE LL_SWPMI_EnableIT_TX |
Kojto | 122:f9eeca106725 | 691 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 692 | * @retval None |
Kojto | 122:f9eeca106725 | 693 | */ |
Kojto | 122:f9eeca106725 | 694 | __STATIC_INLINE void LL_SWPMI_EnableIT_TX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 695 | { |
Kojto | 122:f9eeca106725 | 696 | SET_BIT(SWPMIx->IER, SWPMI_IER_TIE); |
Kojto | 122:f9eeca106725 | 697 | } |
Kojto | 122:f9eeca106725 | 698 | |
Kojto | 122:f9eeca106725 | 699 | /** |
Kojto | 122:f9eeca106725 | 700 | * @brief Enable Receive interrupt |
Kojto | 122:f9eeca106725 | 701 | * @rmtoll IER RIE LL_SWPMI_EnableIT_RX |
Kojto | 122:f9eeca106725 | 702 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 703 | * @retval None |
Kojto | 122:f9eeca106725 | 704 | */ |
Kojto | 122:f9eeca106725 | 705 | __STATIC_INLINE void LL_SWPMI_EnableIT_RX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 706 | { |
Kojto | 122:f9eeca106725 | 707 | SET_BIT(SWPMIx->IER, SWPMI_IER_RIE); |
Kojto | 122:f9eeca106725 | 708 | } |
Kojto | 122:f9eeca106725 | 709 | |
Kojto | 122:f9eeca106725 | 710 | /** |
Kojto | 122:f9eeca106725 | 711 | * @brief Enable Transmit underrun error interrupt |
Kojto | 122:f9eeca106725 | 712 | * @rmtoll IER TXUNRIE LL_SWPMI_EnableIT_TXUNR |
Kojto | 122:f9eeca106725 | 713 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 714 | * @retval None |
Kojto | 122:f9eeca106725 | 715 | */ |
Kojto | 122:f9eeca106725 | 716 | __STATIC_INLINE void LL_SWPMI_EnableIT_TXUNR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 717 | { |
Kojto | 122:f9eeca106725 | 718 | SET_BIT(SWPMIx->IER, SWPMI_IER_TXUNRIE); |
Kojto | 122:f9eeca106725 | 719 | } |
Kojto | 122:f9eeca106725 | 720 | |
Kojto | 122:f9eeca106725 | 721 | /** |
Kojto | 122:f9eeca106725 | 722 | * @brief Enable Receive overrun error interrupt |
Kojto | 122:f9eeca106725 | 723 | * @rmtoll IER RXOVRIE LL_SWPMI_EnableIT_RXOVR |
Kojto | 122:f9eeca106725 | 724 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 725 | * @retval None |
Kojto | 122:f9eeca106725 | 726 | */ |
Kojto | 122:f9eeca106725 | 727 | __STATIC_INLINE void LL_SWPMI_EnableIT_RXOVR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 728 | { |
Kojto | 122:f9eeca106725 | 729 | SET_BIT(SWPMIx->IER, SWPMI_IER_RXOVRIE); |
Kojto | 122:f9eeca106725 | 730 | } |
Kojto | 122:f9eeca106725 | 731 | |
Kojto | 122:f9eeca106725 | 732 | /** |
Kojto | 122:f9eeca106725 | 733 | * @brief Enable Receive CRC error interrupt |
Kojto | 122:f9eeca106725 | 734 | * @rmtoll IER RXBERIE LL_SWPMI_EnableIT_RXBER |
Kojto | 122:f9eeca106725 | 735 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 736 | * @retval None |
Kojto | 122:f9eeca106725 | 737 | */ |
Kojto | 122:f9eeca106725 | 738 | __STATIC_INLINE void LL_SWPMI_EnableIT_RXBER(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 739 | { |
Kojto | 122:f9eeca106725 | 740 | SET_BIT(SWPMIx->IER, SWPMI_IER_RXBERIE); |
Kojto | 122:f9eeca106725 | 741 | } |
Kojto | 122:f9eeca106725 | 742 | |
Kojto | 122:f9eeca106725 | 743 | /** |
Kojto | 122:f9eeca106725 | 744 | * @brief Enable Transmit buffer empty interrupt |
Kojto | 122:f9eeca106725 | 745 | * @rmtoll IER TXBEIE LL_SWPMI_EnableIT_TXBE |
Kojto | 122:f9eeca106725 | 746 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 747 | * @retval None |
Kojto | 122:f9eeca106725 | 748 | */ |
Kojto | 122:f9eeca106725 | 749 | __STATIC_INLINE void LL_SWPMI_EnableIT_TXBE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 750 | { |
Kojto | 122:f9eeca106725 | 751 | SET_BIT(SWPMIx->IER, SWPMI_IER_TXBEIE); |
Kojto | 122:f9eeca106725 | 752 | } |
Kojto | 122:f9eeca106725 | 753 | |
Kojto | 122:f9eeca106725 | 754 | /** |
Kojto | 122:f9eeca106725 | 755 | * @brief Enable Receive buffer full interrupt |
Kojto | 122:f9eeca106725 | 756 | * @rmtoll IER RXBFIE LL_SWPMI_EnableIT_RXBF |
Kojto | 122:f9eeca106725 | 757 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 758 | * @retval None |
Kojto | 122:f9eeca106725 | 759 | */ |
Kojto | 122:f9eeca106725 | 760 | __STATIC_INLINE void LL_SWPMI_EnableIT_RXBF(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 761 | { |
Kojto | 122:f9eeca106725 | 762 | SET_BIT(SWPMIx->IER, SWPMI_IER_RXBFIE); |
Kojto | 122:f9eeca106725 | 763 | } |
Kojto | 122:f9eeca106725 | 764 | |
Kojto | 122:f9eeca106725 | 765 | /** |
Kojto | 122:f9eeca106725 | 766 | * @brief Disable Slave resume interrupt |
Kojto | 122:f9eeca106725 | 767 | * @rmtoll IER SRIE LL_SWPMI_DisableIT_SR |
Kojto | 122:f9eeca106725 | 768 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 769 | * @retval None |
Kojto | 122:f9eeca106725 | 770 | */ |
Kojto | 122:f9eeca106725 | 771 | __STATIC_INLINE void LL_SWPMI_DisableIT_SR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 772 | { |
Kojto | 122:f9eeca106725 | 773 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_SRIE); |
Kojto | 122:f9eeca106725 | 774 | } |
Kojto | 122:f9eeca106725 | 775 | |
Kojto | 122:f9eeca106725 | 776 | /** |
Kojto | 122:f9eeca106725 | 777 | * @brief Disable Transmit complete interrupt |
Kojto | 122:f9eeca106725 | 778 | * @rmtoll IER TCIE LL_SWPMI_DisableIT_TC |
Kojto | 122:f9eeca106725 | 779 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 780 | * @retval None |
Kojto | 122:f9eeca106725 | 781 | */ |
Kojto | 122:f9eeca106725 | 782 | __STATIC_INLINE void LL_SWPMI_DisableIT_TC(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 783 | { |
Kojto | 122:f9eeca106725 | 784 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_TCIE); |
Kojto | 122:f9eeca106725 | 785 | } |
Kojto | 122:f9eeca106725 | 786 | |
Kojto | 122:f9eeca106725 | 787 | /** |
Kojto | 122:f9eeca106725 | 788 | * @brief Disable Transmit interrupt |
Kojto | 122:f9eeca106725 | 789 | * @rmtoll IER TIE LL_SWPMI_DisableIT_TX |
Kojto | 122:f9eeca106725 | 790 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 791 | * @retval None |
Kojto | 122:f9eeca106725 | 792 | */ |
Kojto | 122:f9eeca106725 | 793 | __STATIC_INLINE void LL_SWPMI_DisableIT_TX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 794 | { |
Kojto | 122:f9eeca106725 | 795 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_TIE); |
Kojto | 122:f9eeca106725 | 796 | } |
Kojto | 122:f9eeca106725 | 797 | |
Kojto | 122:f9eeca106725 | 798 | /** |
Kojto | 122:f9eeca106725 | 799 | * @brief Disable Receive interrupt |
Kojto | 122:f9eeca106725 | 800 | * @rmtoll IER RIE LL_SWPMI_DisableIT_RX |
Kojto | 122:f9eeca106725 | 801 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 802 | * @retval None |
Kojto | 122:f9eeca106725 | 803 | */ |
Kojto | 122:f9eeca106725 | 804 | __STATIC_INLINE void LL_SWPMI_DisableIT_RX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 805 | { |
Kojto | 122:f9eeca106725 | 806 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_RIE); |
Kojto | 122:f9eeca106725 | 807 | } |
Kojto | 122:f9eeca106725 | 808 | |
Kojto | 122:f9eeca106725 | 809 | /** |
Kojto | 122:f9eeca106725 | 810 | * @brief Disable Transmit underrun error interrupt |
Kojto | 122:f9eeca106725 | 811 | * @rmtoll IER TXUNRIE LL_SWPMI_DisableIT_TXUNR |
Kojto | 122:f9eeca106725 | 812 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 813 | * @retval None |
Kojto | 122:f9eeca106725 | 814 | */ |
Kojto | 122:f9eeca106725 | 815 | __STATIC_INLINE void LL_SWPMI_DisableIT_TXUNR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 816 | { |
Kojto | 122:f9eeca106725 | 817 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_TXUNRIE); |
Kojto | 122:f9eeca106725 | 818 | } |
Kojto | 122:f9eeca106725 | 819 | |
Kojto | 122:f9eeca106725 | 820 | /** |
Kojto | 122:f9eeca106725 | 821 | * @brief Disable Receive overrun error interrupt |
Kojto | 122:f9eeca106725 | 822 | * @rmtoll IER RXOVRIE LL_SWPMI_DisableIT_RXOVR |
Kojto | 122:f9eeca106725 | 823 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 824 | * @retval None |
Kojto | 122:f9eeca106725 | 825 | */ |
Kojto | 122:f9eeca106725 | 826 | __STATIC_INLINE void LL_SWPMI_DisableIT_RXOVR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 827 | { |
Kojto | 122:f9eeca106725 | 828 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_RXOVRIE); |
Kojto | 122:f9eeca106725 | 829 | } |
Kojto | 122:f9eeca106725 | 830 | |
Kojto | 122:f9eeca106725 | 831 | /** |
Kojto | 122:f9eeca106725 | 832 | * @brief Disable Receive CRC error interrupt |
Kojto | 122:f9eeca106725 | 833 | * @rmtoll IER RXBERIE LL_SWPMI_DisableIT_RXBER |
Kojto | 122:f9eeca106725 | 834 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 835 | * @retval None |
Kojto | 122:f9eeca106725 | 836 | */ |
Kojto | 122:f9eeca106725 | 837 | __STATIC_INLINE void LL_SWPMI_DisableIT_RXBER(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 838 | { |
Kojto | 122:f9eeca106725 | 839 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_RXBERIE); |
Kojto | 122:f9eeca106725 | 840 | } |
Kojto | 122:f9eeca106725 | 841 | |
Kojto | 122:f9eeca106725 | 842 | /** |
Kojto | 122:f9eeca106725 | 843 | * @brief Disable Transmit buffer empty interrupt |
Kojto | 122:f9eeca106725 | 844 | * @rmtoll IER TXBEIE LL_SWPMI_DisableIT_TXBE |
Kojto | 122:f9eeca106725 | 845 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 846 | * @retval None |
Kojto | 122:f9eeca106725 | 847 | */ |
Kojto | 122:f9eeca106725 | 848 | __STATIC_INLINE void LL_SWPMI_DisableIT_TXBE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 849 | { |
Kojto | 122:f9eeca106725 | 850 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_TXBEIE); |
Kojto | 122:f9eeca106725 | 851 | } |
Kojto | 122:f9eeca106725 | 852 | |
Kojto | 122:f9eeca106725 | 853 | /** |
Kojto | 122:f9eeca106725 | 854 | * @brief Disable Receive buffer full interrupt |
Kojto | 122:f9eeca106725 | 855 | * @rmtoll IER RXBFIE LL_SWPMI_DisableIT_RXBF |
Kojto | 122:f9eeca106725 | 856 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 857 | * @retval None |
Kojto | 122:f9eeca106725 | 858 | */ |
Kojto | 122:f9eeca106725 | 859 | __STATIC_INLINE void LL_SWPMI_DisableIT_RXBF(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 860 | { |
Kojto | 122:f9eeca106725 | 861 | CLEAR_BIT(SWPMIx->IER, SWPMI_IER_RXBFIE); |
Kojto | 122:f9eeca106725 | 862 | } |
Kojto | 122:f9eeca106725 | 863 | |
Kojto | 122:f9eeca106725 | 864 | /** |
Kojto | 122:f9eeca106725 | 865 | * @brief Check if Slave resume interrupt is enabled |
Kojto | 122:f9eeca106725 | 866 | * @rmtoll IER SRIE LL_SWPMI_IsEnabledIT_SR |
Kojto | 122:f9eeca106725 | 867 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 868 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 869 | */ |
Kojto | 122:f9eeca106725 | 870 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_SR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 871 | { |
Kojto | 122:f9eeca106725 | 872 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_SRIE) == (SWPMI_IER_SRIE)); |
Kojto | 122:f9eeca106725 | 873 | } |
Kojto | 122:f9eeca106725 | 874 | |
Kojto | 122:f9eeca106725 | 875 | /** |
Kojto | 122:f9eeca106725 | 876 | * @brief Check if Transmit complete interrupt is enabled |
Kojto | 122:f9eeca106725 | 877 | * @rmtoll IER TCIE LL_SWPMI_IsEnabledIT_TC |
Kojto | 122:f9eeca106725 | 878 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 879 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 880 | */ |
Kojto | 122:f9eeca106725 | 881 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_TC(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 882 | { |
Kojto | 122:f9eeca106725 | 883 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_TCIE) == (SWPMI_IER_TCIE)); |
Kojto | 122:f9eeca106725 | 884 | } |
Kojto | 122:f9eeca106725 | 885 | |
Kojto | 122:f9eeca106725 | 886 | /** |
Kojto | 122:f9eeca106725 | 887 | * @brief Check if Transmit interrupt is enabled |
Kojto | 122:f9eeca106725 | 888 | * @rmtoll IER TIE LL_SWPMI_IsEnabledIT_TX |
Kojto | 122:f9eeca106725 | 889 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 890 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 891 | */ |
Kojto | 122:f9eeca106725 | 892 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_TX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 893 | { |
Kojto | 122:f9eeca106725 | 894 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_TIE) == (SWPMI_IER_TIE)); |
Kojto | 122:f9eeca106725 | 895 | } |
Kojto | 122:f9eeca106725 | 896 | |
Kojto | 122:f9eeca106725 | 897 | /** |
Kojto | 122:f9eeca106725 | 898 | * @brief Check if Receive interrupt is enabled |
Kojto | 122:f9eeca106725 | 899 | * @rmtoll IER RIE LL_SWPMI_IsEnabledIT_RX |
Kojto | 122:f9eeca106725 | 900 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 901 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 902 | */ |
Kojto | 122:f9eeca106725 | 903 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_RX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 904 | { |
Kojto | 122:f9eeca106725 | 905 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_RIE) == (SWPMI_IER_RIE)); |
Kojto | 122:f9eeca106725 | 906 | } |
Kojto | 122:f9eeca106725 | 907 | |
Kojto | 122:f9eeca106725 | 908 | /** |
Kojto | 122:f9eeca106725 | 909 | * @brief Check if Transmit underrun error interrupt is enabled |
Kojto | 122:f9eeca106725 | 910 | * @rmtoll IER TXUNRIE LL_SWPMI_IsEnabledIT_TXUNR |
Kojto | 122:f9eeca106725 | 911 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 912 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 913 | */ |
Kojto | 122:f9eeca106725 | 914 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_TXUNR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 915 | { |
Kojto | 122:f9eeca106725 | 916 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_TXUNRIE) == (SWPMI_IER_TXUNRIE)); |
Kojto | 122:f9eeca106725 | 917 | } |
Kojto | 122:f9eeca106725 | 918 | |
Kojto | 122:f9eeca106725 | 919 | /** |
Kojto | 122:f9eeca106725 | 920 | * @brief Check if Receive overrun error interrupt is enabled |
Kojto | 122:f9eeca106725 | 921 | * @rmtoll IER RXOVRIE LL_SWPMI_IsEnabledIT_RXOVR |
Kojto | 122:f9eeca106725 | 922 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 923 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 924 | */ |
Kojto | 122:f9eeca106725 | 925 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_RXOVR(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 926 | { |
Kojto | 122:f9eeca106725 | 927 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_RXOVRIE) == (SWPMI_IER_RXOVRIE)); |
Kojto | 122:f9eeca106725 | 928 | } |
Kojto | 122:f9eeca106725 | 929 | |
Kojto | 122:f9eeca106725 | 930 | /** |
Kojto | 122:f9eeca106725 | 931 | * @brief Check if Receive CRC error interrupt is enabled |
Kojto | 122:f9eeca106725 | 932 | * @rmtoll IER RXBERIE LL_SWPMI_IsEnabledIT_RXBER |
Kojto | 122:f9eeca106725 | 933 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 934 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 935 | */ |
Kojto | 122:f9eeca106725 | 936 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_RXBER(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 937 | { |
Kojto | 122:f9eeca106725 | 938 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_RXBERIE) == (SWPMI_IER_RXBERIE)); |
Kojto | 122:f9eeca106725 | 939 | } |
Kojto | 122:f9eeca106725 | 940 | |
Kojto | 122:f9eeca106725 | 941 | /** |
Kojto | 122:f9eeca106725 | 942 | * @brief Check if Transmit buffer empty interrupt is enabled |
Kojto | 122:f9eeca106725 | 943 | * @rmtoll IER TXBEIE LL_SWPMI_IsEnabledIT_TXBE |
Kojto | 122:f9eeca106725 | 944 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 945 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 946 | */ |
Kojto | 122:f9eeca106725 | 947 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_TXBE(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 948 | { |
Kojto | 122:f9eeca106725 | 949 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_TXBEIE) == (SWPMI_IER_TXBEIE)); |
Kojto | 122:f9eeca106725 | 950 | } |
Kojto | 122:f9eeca106725 | 951 | |
Kojto | 122:f9eeca106725 | 952 | /** |
Kojto | 122:f9eeca106725 | 953 | * @brief Check if Receive buffer full interrupt is enabled |
Kojto | 122:f9eeca106725 | 954 | * @rmtoll IER RXBFIE LL_SWPMI_IsEnabledIT_RXBF |
Kojto | 122:f9eeca106725 | 955 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 956 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 957 | */ |
Kojto | 122:f9eeca106725 | 958 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledIT_RXBF(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 959 | { |
Kojto | 122:f9eeca106725 | 960 | return (READ_BIT(SWPMIx->IER, SWPMI_IER_RXBFIE) == (SWPMI_IER_RXBFIE)); |
Kojto | 122:f9eeca106725 | 961 | } |
Kojto | 122:f9eeca106725 | 962 | |
Kojto | 122:f9eeca106725 | 963 | /** |
Kojto | 122:f9eeca106725 | 964 | * @} |
Kojto | 122:f9eeca106725 | 965 | */ |
Kojto | 122:f9eeca106725 | 966 | |
Kojto | 122:f9eeca106725 | 967 | /** @defgroup SWPMI_LL_EF_DMA_Management DMA_Management |
Kojto | 122:f9eeca106725 | 968 | * @{ |
Kojto | 122:f9eeca106725 | 969 | */ |
Kojto | 122:f9eeca106725 | 970 | |
Kojto | 122:f9eeca106725 | 971 | /** |
Kojto | 122:f9eeca106725 | 972 | * @brief Enable DMA mode for reception |
Kojto | 122:f9eeca106725 | 973 | * @rmtoll CR RXDMA LL_SWPMI_EnableDMAReq_RX |
Kojto | 122:f9eeca106725 | 974 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 975 | * @retval None |
Kojto | 122:f9eeca106725 | 976 | */ |
Kojto | 122:f9eeca106725 | 977 | __STATIC_INLINE void LL_SWPMI_EnableDMAReq_RX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 978 | { |
Kojto | 122:f9eeca106725 | 979 | SET_BIT(SWPMIx->CR, SWPMI_CR_RXDMA); |
Kojto | 122:f9eeca106725 | 980 | } |
Kojto | 122:f9eeca106725 | 981 | |
Kojto | 122:f9eeca106725 | 982 | /** |
Kojto | 122:f9eeca106725 | 983 | * @brief Disable DMA mode for reception |
Kojto | 122:f9eeca106725 | 984 | * @rmtoll CR RXDMA LL_SWPMI_DisableDMAReq_RX |
Kojto | 122:f9eeca106725 | 985 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 986 | * @retval None |
Kojto | 122:f9eeca106725 | 987 | */ |
Kojto | 122:f9eeca106725 | 988 | __STATIC_INLINE void LL_SWPMI_DisableDMAReq_RX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 989 | { |
Kojto | 122:f9eeca106725 | 990 | CLEAR_BIT(SWPMIx->CR, SWPMI_CR_RXDMA); |
Kojto | 122:f9eeca106725 | 991 | } |
Kojto | 122:f9eeca106725 | 992 | |
Kojto | 122:f9eeca106725 | 993 | /** |
Kojto | 122:f9eeca106725 | 994 | * @brief Check if DMA mode for reception is enabled |
Kojto | 122:f9eeca106725 | 995 | * @rmtoll CR RXDMA LL_SWPMI_IsEnabledDMAReq_RX |
Kojto | 122:f9eeca106725 | 996 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 997 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 998 | */ |
Kojto | 122:f9eeca106725 | 999 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledDMAReq_RX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1000 | { |
Kojto | 122:f9eeca106725 | 1001 | return (READ_BIT(SWPMIx->CR, SWPMI_CR_RXDMA) == (SWPMI_CR_RXDMA)); |
Kojto | 122:f9eeca106725 | 1002 | } |
Kojto | 122:f9eeca106725 | 1003 | |
Kojto | 122:f9eeca106725 | 1004 | /** |
Kojto | 122:f9eeca106725 | 1005 | * @brief Enable DMA mode for transmission |
Kojto | 122:f9eeca106725 | 1006 | * @rmtoll CR TXDMA LL_SWPMI_EnableDMAReq_TX |
Kojto | 122:f9eeca106725 | 1007 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1008 | * @retval None |
Kojto | 122:f9eeca106725 | 1009 | */ |
Kojto | 122:f9eeca106725 | 1010 | __STATIC_INLINE void LL_SWPMI_EnableDMAReq_TX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1011 | { |
Kojto | 122:f9eeca106725 | 1012 | SET_BIT(SWPMIx->CR, SWPMI_CR_TXDMA); |
Kojto | 122:f9eeca106725 | 1013 | } |
Kojto | 122:f9eeca106725 | 1014 | |
Kojto | 122:f9eeca106725 | 1015 | /** |
Kojto | 122:f9eeca106725 | 1016 | * @brief Disable DMA mode for transmission |
Kojto | 122:f9eeca106725 | 1017 | * @rmtoll CR TXDMA LL_SWPMI_DisableDMAReq_TX |
Kojto | 122:f9eeca106725 | 1018 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1019 | * @retval None |
Kojto | 122:f9eeca106725 | 1020 | */ |
Kojto | 122:f9eeca106725 | 1021 | __STATIC_INLINE void LL_SWPMI_DisableDMAReq_TX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1022 | { |
Kojto | 122:f9eeca106725 | 1023 | CLEAR_BIT(SWPMIx->CR, SWPMI_CR_TXDMA); |
Kojto | 122:f9eeca106725 | 1024 | } |
Kojto | 122:f9eeca106725 | 1025 | |
Kojto | 122:f9eeca106725 | 1026 | /** |
Kojto | 122:f9eeca106725 | 1027 | * @brief Check if DMA mode for transmission is enabled |
Kojto | 122:f9eeca106725 | 1028 | * @rmtoll CR TXDMA LL_SWPMI_IsEnabledDMAReq_TX |
Kojto | 122:f9eeca106725 | 1029 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1030 | * @retval State of bit (1 or 0). |
Kojto | 122:f9eeca106725 | 1031 | */ |
Kojto | 122:f9eeca106725 | 1032 | __STATIC_INLINE uint32_t LL_SWPMI_IsEnabledDMAReq_TX(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1033 | { |
Kojto | 122:f9eeca106725 | 1034 | return (READ_BIT(SWPMIx->CR, SWPMI_CR_TXDMA) == (SWPMI_CR_TXDMA)); |
Kojto | 122:f9eeca106725 | 1035 | } |
Kojto | 122:f9eeca106725 | 1036 | |
Kojto | 122:f9eeca106725 | 1037 | /** |
Kojto | 122:f9eeca106725 | 1038 | * @brief Get the data register address used for DMA transfer |
Kojto | 122:f9eeca106725 | 1039 | * @rmtoll TDR TD LL_SWPMI_DMA_GetRegAddr\n |
Kojto | 122:f9eeca106725 | 1040 | * RDR RD LL_SWPMI_DMA_GetRegAddr |
Kojto | 122:f9eeca106725 | 1041 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1042 | * @param Direction This parameter can be one of the following values: |
Kojto | 122:f9eeca106725 | 1043 | * @arg @ref LL_SWPMI_DMA_REG_DATA_TRANSMIT |
Kojto | 122:f9eeca106725 | 1044 | * @arg @ref LL_SWPMI_DMA_REG_DATA_RECEIVE |
Kojto | 122:f9eeca106725 | 1045 | * @retval Address of data register |
Kojto | 122:f9eeca106725 | 1046 | */ |
Kojto | 122:f9eeca106725 | 1047 | __STATIC_INLINE uint32_t LL_SWPMI_DMA_GetRegAddr(SWPMI_TypeDef *SWPMIx, uint32_t Direction) |
Kojto | 122:f9eeca106725 | 1048 | { |
Kojto | 122:f9eeca106725 | 1049 | register uint32_t data_reg_addr = 0; |
Kojto | 122:f9eeca106725 | 1050 | |
Kojto | 122:f9eeca106725 | 1051 | if (Direction == LL_SWPMI_DMA_REG_DATA_TRANSMIT) |
Kojto | 122:f9eeca106725 | 1052 | { |
Kojto | 122:f9eeca106725 | 1053 | /* return address of TDR register */ |
Kojto | 122:f9eeca106725 | 1054 | data_reg_addr = (uint32_t)&(SWPMIx->TDR); |
Kojto | 122:f9eeca106725 | 1055 | } |
Kojto | 122:f9eeca106725 | 1056 | else |
Kojto | 122:f9eeca106725 | 1057 | { |
Kojto | 122:f9eeca106725 | 1058 | /* return address of RDR register */ |
Kojto | 122:f9eeca106725 | 1059 | data_reg_addr = (uint32_t)&(SWPMIx->RDR); |
Kojto | 122:f9eeca106725 | 1060 | } |
Kojto | 122:f9eeca106725 | 1061 | |
Kojto | 122:f9eeca106725 | 1062 | return data_reg_addr; |
Kojto | 122:f9eeca106725 | 1063 | } |
Kojto | 122:f9eeca106725 | 1064 | |
Kojto | 122:f9eeca106725 | 1065 | /** |
Kojto | 122:f9eeca106725 | 1066 | * @} |
Kojto | 122:f9eeca106725 | 1067 | */ |
Kojto | 122:f9eeca106725 | 1068 | |
Kojto | 122:f9eeca106725 | 1069 | /** @defgroup SWPMI_LL_EF_Data_Management Data_Management |
Kojto | 122:f9eeca106725 | 1070 | * @{ |
Kojto | 122:f9eeca106725 | 1071 | */ |
Kojto | 122:f9eeca106725 | 1072 | |
Kojto | 122:f9eeca106725 | 1073 | /** |
Kojto | 122:f9eeca106725 | 1074 | * @brief Retrieve number of data bytes present in payload of received frame |
Kojto | 122:f9eeca106725 | 1075 | * @rmtoll RFL RFL LL_SWPMI_GetReceiveFrameLength |
Kojto | 122:f9eeca106725 | 1076 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1077 | * @retval Value between Min_Data=0x00 and Max_Data=0x1F |
Kojto | 122:f9eeca106725 | 1078 | */ |
Kojto | 122:f9eeca106725 | 1079 | __STATIC_INLINE uint32_t LL_SWPMI_GetReceiveFrameLength(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1080 | { |
Kojto | 122:f9eeca106725 | 1081 | return (uint32_t)(READ_BIT(SWPMIx->RFL, SWPMI_RFL_RFL)); |
Kojto | 122:f9eeca106725 | 1082 | } |
Kojto | 122:f9eeca106725 | 1083 | |
Kojto | 122:f9eeca106725 | 1084 | /** |
Kojto | 122:f9eeca106725 | 1085 | * @brief Transmit Data Register |
Kojto | 122:f9eeca106725 | 1086 | * @rmtoll TDR TD LL_SWPMI_TransmitData32 |
Kojto | 122:f9eeca106725 | 1087 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1088 | * @param TxData Value between Min_Data=0x00000000 and Max_Data=0xFFFFFFFF |
Kojto | 122:f9eeca106725 | 1089 | * @retval None |
Kojto | 122:f9eeca106725 | 1090 | */ |
Kojto | 122:f9eeca106725 | 1091 | __STATIC_INLINE void LL_SWPMI_TransmitData32(SWPMI_TypeDef *SWPMIx, uint32_t TxData) |
Kojto | 122:f9eeca106725 | 1092 | { |
Kojto | 122:f9eeca106725 | 1093 | WRITE_REG(SWPMIx->TDR, TxData); |
Kojto | 122:f9eeca106725 | 1094 | } |
Kojto | 122:f9eeca106725 | 1095 | |
Kojto | 122:f9eeca106725 | 1096 | /** |
Kojto | 122:f9eeca106725 | 1097 | * @brief Receive Data Register |
Kojto | 122:f9eeca106725 | 1098 | * @rmtoll RDR RD LL_SWPMI_ReceiveData32 |
Kojto | 122:f9eeca106725 | 1099 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1100 | * @retval Value between Min_Data=0x00000000 and Max_Data=0xFFFFFFFF |
Kojto | 122:f9eeca106725 | 1101 | */ |
Kojto | 122:f9eeca106725 | 1102 | __STATIC_INLINE uint32_t LL_SWPMI_ReceiveData32(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1103 | { |
Kojto | 122:f9eeca106725 | 1104 | return (uint32_t)(READ_BIT(SWPMIx->RDR, SWPMI_RDR_RD)); |
Kojto | 122:f9eeca106725 | 1105 | } |
Kojto | 122:f9eeca106725 | 1106 | |
Kojto | 122:f9eeca106725 | 1107 | /** |
Kojto | 122:f9eeca106725 | 1108 | * @brief Enable SWP Transceiver Bypass |
Kojto | 122:f9eeca106725 | 1109 | * @note The external interface for SWPMI is SWPMI_IO |
Kojto | 122:f9eeca106725 | 1110 | * (SWPMI_RX, SWPMI_TX and SWPMI_SUSPEND signals are not available on GPIOs) |
Kojto | 122:f9eeca106725 | 1111 | * @rmtoll OR TBYP LL_SWPMI_EnableTXBypass |
Kojto | 122:f9eeca106725 | 1112 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1113 | * @retval None |
Kojto | 122:f9eeca106725 | 1114 | */ |
Kojto | 122:f9eeca106725 | 1115 | __STATIC_INLINE void LL_SWPMI_EnableTXBypass(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1116 | { |
Kojto | 122:f9eeca106725 | 1117 | CLEAR_BIT(SWPMIx->OR, SWPMI_OR_TBYP); |
Kojto | 122:f9eeca106725 | 1118 | } |
Kojto | 122:f9eeca106725 | 1119 | |
Kojto | 122:f9eeca106725 | 1120 | /** |
Kojto | 122:f9eeca106725 | 1121 | * @brief Disable SWP Transceiver Bypass |
Kojto | 122:f9eeca106725 | 1122 | * @note SWPMI_RX, SWPMI_TX and SWPMI_SUSPEND signals are available as alternate |
Kojto | 122:f9eeca106725 | 1123 | * function on GPIOs. This configuration is selected to connect an external transceiver |
Kojto | 122:f9eeca106725 | 1124 | * @rmtoll OR TBYP LL_SWPMI_DisableTXBypass |
Kojto | 122:f9eeca106725 | 1125 | * @param SWPMIx SWPMI Instance |
Kojto | 122:f9eeca106725 | 1126 | * @retval None |
Kojto | 122:f9eeca106725 | 1127 | */ |
Kojto | 122:f9eeca106725 | 1128 | __STATIC_INLINE void LL_SWPMI_DisableTXBypass(SWPMI_TypeDef *SWPMIx) |
Kojto | 122:f9eeca106725 | 1129 | { |
Kojto | 122:f9eeca106725 | 1130 | SET_BIT(SWPMIx->OR, SWPMI_OR_TBYP); |
Kojto | 122:f9eeca106725 | 1131 | } |
Kojto | 122:f9eeca106725 | 1132 | |
Kojto | 122:f9eeca106725 | 1133 | /** |
Kojto | 122:f9eeca106725 | 1134 | * @} |
Kojto | 122:f9eeca106725 | 1135 | */ |
Kojto | 122:f9eeca106725 | 1136 | |
Kojto | 122:f9eeca106725 | 1137 | #if defined(USE_FULL_LL_DRIVER) |
Kojto | 122:f9eeca106725 | 1138 | /** @defgroup SWPMI_LL_EF_Init Initialization and de-initialization functions |
Kojto | 122:f9eeca106725 | 1139 | * @{ |
Kojto | 122:f9eeca106725 | 1140 | */ |
Kojto | 122:f9eeca106725 | 1141 | |
Kojto | 122:f9eeca106725 | 1142 | ErrorStatus LL_SWPMI_DeInit(SWPMI_TypeDef *SWPMIx); |
Kojto | 122:f9eeca106725 | 1143 | ErrorStatus LL_SWPMI_Init(SWPMI_TypeDef *SWPMIx, LL_SWPMI_InitTypeDef *SWPMI_InitStruct); |
Kojto | 122:f9eeca106725 | 1144 | void LL_SWPMI_StructInit(LL_SWPMI_InitTypeDef *SWPMI_InitStruct); |
Kojto | 122:f9eeca106725 | 1145 | |
Kojto | 122:f9eeca106725 | 1146 | /** |
Kojto | 122:f9eeca106725 | 1147 | * @} |
Kojto | 122:f9eeca106725 | 1148 | */ |
Kojto | 122:f9eeca106725 | 1149 | #endif /*USE_FULL_LL_DRIVER*/ |
Kojto | 122:f9eeca106725 | 1150 | |
Kojto | 122:f9eeca106725 | 1151 | /** |
Kojto | 122:f9eeca106725 | 1152 | * @} |
Kojto | 122:f9eeca106725 | 1153 | */ |
Kojto | 122:f9eeca106725 | 1154 | |
Kojto | 122:f9eeca106725 | 1155 | /** |
Kojto | 122:f9eeca106725 | 1156 | * @} |
Kojto | 122:f9eeca106725 | 1157 | */ |
Kojto | 122:f9eeca106725 | 1158 | |
Kojto | 122:f9eeca106725 | 1159 | #endif /* defined (SWPMI1) */ |
Kojto | 122:f9eeca106725 | 1160 | |
Kojto | 122:f9eeca106725 | 1161 | /** |
Kojto | 122:f9eeca106725 | 1162 | * @} |
Kojto | 122:f9eeca106725 | 1163 | */ |
Kojto | 122:f9eeca106725 | 1164 | |
Kojto | 122:f9eeca106725 | 1165 | #ifdef __cplusplus |
Kojto | 122:f9eeca106725 | 1166 | } |
Kojto | 122:f9eeca106725 | 1167 | #endif |
Kojto | 122:f9eeca106725 | 1168 | |
Kojto | 122:f9eeca106725 | 1169 | #endif /* __STM32L4xx_LL_SWPMI_H */ |
Kojto | 122:f9eeca106725 | 1170 | |
Kojto | 122:f9eeca106725 | 1171 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |