Rev 2 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2 | Rev 9 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | * @author MCD Application Team |
4 | * @author MCD Application Team |
5 | * @brief Header file of USART LL module. |
5 | * @brief Header file of USART LL module. |
6 | ****************************************************************************** |
6 | ****************************************************************************** |
7 | * @attention |
7 | * @attention |
8 | * |
8 | * |
9 | * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> |
9 | * <h2><center>© Copyright (c) 2016 STMicroelectronics. |
- | 10 | * All rights reserved.</center></h2> |
|
10 | * |
11 | * |
11 | * Redistribution and use in source and binary forms, with or without modification, |
12 | * This software component is licensed by ST under BSD 3-Clause license, |
12 | * are permitted provided that the following conditions are met: |
13 | * the "License"; You may not use this file except in compliance with the |
13 | * 1. Redistributions of source code must retain the above copyright notice, |
- | |
14 | * this list of conditions and the following disclaimer. |
- | |
15 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
- | |
16 | * this list of conditions and the following disclaimer in the documentation |
- | |
17 | * and/or other materials provided with the distribution. |
14 | * License. You may obtain a copy of the License at: |
18 | * 3. Neither the name of STMicroelectronics nor the names of its contributors |
- | |
19 | * may be used to endorse or promote products derived from this software |
15 | * opensource.org/licenses/BSD-3-Clause |
20 | * without specific prior written permission. |
- | |
21 | * |
- | |
22 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
- | |
23 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
- | |
24 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
- | |
25 | * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
- | |
26 | * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
- | |
27 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
- | |
28 | * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
- | |
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
- | |
30 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
- | |
31 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
- | |
32 | * |
16 | * |
33 | ****************************************************************************** |
17 | ****************************************************************************** |
34 | */ |
18 | */ |
35 | 19 | ||
36 | /* Define to prevent recursive inclusion -------------------------------------*/ |
20 | /* Define to prevent recursive inclusion -------------------------------------*/ |
Line 116... | Line 100... | ||
116 | uint32_t HardwareFlowControl; /*!< Specifies whether the hardware flow control mode is enabled or disabled. |
100 | uint32_t HardwareFlowControl; /*!< Specifies whether the hardware flow control mode is enabled or disabled. |
117 | This parameter can be a value of @ref USART_LL_EC_HWCONTROL. |
101 | This parameter can be a value of @ref USART_LL_EC_HWCONTROL. |
118 | 102 | ||
119 | This feature can be modified afterwards using unitary function @ref LL_USART_SetHWFlowCtrl().*/ |
103 | This feature can be modified afterwards using unitary function @ref LL_USART_SetHWFlowCtrl().*/ |
120 | 104 | ||
121 | #if defined(USART_CR1_OVER8) |
- | |
122 | uint32_t OverSampling; /*!< Specifies whether USART oversampling mode is 16 or 8. |
105 | uint32_t OverSampling; /*!< Specifies whether USART oversampling mode is 16 or 8. |
123 | This parameter can be a value of @ref USART_LL_EC_OVERSAMPLING. |
106 | This parameter can be a value of @ref USART_LL_EC_OVERSAMPLING. |
124 | 107 | ||
125 | This feature can be modified afterwards using unitary function @ref LL_USART_SetOverSampling().*/ |
108 | This feature can be modified afterwards using unitary function @ref LL_USART_SetOverSampling().*/ |
126 | 109 | ||
127 | #endif /* USART_OverSampling_Feature */ |
- | |
128 | } LL_USART_InitTypeDef; |
110 | } LL_USART_InitTypeDef; |
129 | 111 | ||
130 | /** |
112 | /** |
131 | * @brief LL USART Clock Init Structure definition |
113 | * @brief LL USART Clock Init Structure definition |
132 | */ |
114 | */ |
Line 215... | Line 197... | ||
215 | * @} |
197 | * @} |
216 | */ |
198 | */ |
217 | 199 | ||
218 | /** @defgroup USART_LL_EC_PARITY Parity Control |
200 | /** @defgroup USART_LL_EC_PARITY Parity Control |
219 | * @{ |
201 | * @{ |
220 | */ |
202 | */ |
221 | #define LL_USART_PARITY_NONE 0x00000000U /*!< Parity control disabled */ |
203 | #define LL_USART_PARITY_NONE 0x00000000U /*!< Parity control disabled */ |
222 | #define LL_USART_PARITY_EVEN USART_CR1_PCE /*!< Parity control enabled and Even Parity is selected */ |
204 | #define LL_USART_PARITY_EVEN USART_CR1_PCE /*!< Parity control enabled and Even Parity is selected */ |
223 | #define LL_USART_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS) /*!< Parity control enabled and Odd Parity is selected */ |
205 | #define LL_USART_PARITY_ODD (USART_CR1_PCE | USART_CR1_PS) /*!< Parity control enabled and Odd Parity is selected */ |
224 | /** |
206 | /** |
225 | * @} |
207 | * @} |
Line 241... | Line 223... | ||
241 | #define LL_USART_DATAWIDTH_9B USART_CR1_M /*!< 9 bits word length : Start bit, 9 data bits, n stop bits */ |
223 | #define LL_USART_DATAWIDTH_9B USART_CR1_M /*!< 9 bits word length : Start bit, 9 data bits, n stop bits */ |
242 | /** |
224 | /** |
243 | * @} |
225 | * @} |
244 | */ |
226 | */ |
245 | 227 | ||
246 | #if defined(USART_CR1_OVER8) |
- | |
247 | /** @defgroup USART_LL_EC_OVERSAMPLING Oversampling |
228 | /** @defgroup USART_LL_EC_OVERSAMPLING Oversampling |
248 | * @{ |
229 | * @{ |
249 | */ |
230 | */ |
250 | #define LL_USART_OVERSAMPLING_16 0x00000000U /*!< Oversampling by 16 */ |
231 | #define LL_USART_OVERSAMPLING_16 0x00000000U /*!< Oversampling by 16 */ |
- | 232 | #if defined(USART_CR1_OVER8) |
|
251 | #define LL_USART_OVERSAMPLING_8 USART_CR1_OVER8 /*!< Oversampling by 8 */ |
233 | #define LL_USART_OVERSAMPLING_8 USART_CR1_OVER8 /*!< Oversampling by 8 */ |
- | 234 | #endif /* USART_OverSampling_Feature */ |
|
252 | /** |
235 | /** |
253 | * @} |
236 | * @} |
254 | */ |
237 | */ |
255 | 238 | ||
256 | #endif /* USART_OverSampling_Feature */ |
- | |
257 | #if defined(USE_FULL_LL_DRIVER) |
239 | #if defined(USE_FULL_LL_DRIVER) |
258 | /** @defgroup USART_LL_EC_CLOCK Clock Signal |
240 | /** @defgroup USART_LL_EC_CLOCK Clock Signal |
259 | * @{ |
241 | * @{ |
260 | */ |
242 | */ |
261 | 243 | ||
Line 393... | Line 375... | ||
393 | * @param __BAUDRATE__ Baud rate value to achieve |
375 | * @param __BAUDRATE__ Baud rate value to achieve |
394 | * @retval USARTDIV value to be used for BRR register filling in OverSampling_16 case |
376 | * @retval USARTDIV value to be used for BRR register filling in OverSampling_16 case |
395 | */ |
377 | */ |
396 | #define __LL_USART_DIV_SAMPLING16_100(__PERIPHCLK__, __BAUDRATE__) (((__PERIPHCLK__)*25)/(4*(__BAUDRATE__))) |
378 | #define __LL_USART_DIV_SAMPLING16_100(__PERIPHCLK__, __BAUDRATE__) (((__PERIPHCLK__)*25)/(4*(__BAUDRATE__))) |
397 | #define __LL_USART_DIVMANT_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (__LL_USART_DIV_SAMPLING16_100((__PERIPHCLK__), (__BAUDRATE__))/100) |
379 | #define __LL_USART_DIVMANT_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (__LL_USART_DIV_SAMPLING16_100((__PERIPHCLK__), (__BAUDRATE__))/100) |
398 | #define __LL_USART_DIVFRAQ_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (((__LL_USART_DIV_SAMPLING16_100((__PERIPHCLK__), (__BAUDRATE__)) - (__LL_USART_DIVMANT_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) * 100)) * 16 + 50) / 100) |
380 | #define __LL_USART_DIVFRAQ_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) ((((__LL_USART_DIV_SAMPLING16_100((__PERIPHCLK__), (__BAUDRATE__)) - (__LL_USART_DIVMANT_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) * 100)) * 16) + 50) / 100) |
399 | /* USART BRR = mantissa + overflow + fraction |
381 | /* USART BRR = mantissa + overflow + fraction |
400 | = (USART DIVMANT << 4) + (USART DIVFRAQ & 0xF0) + (USART DIVFRAQ & 0x0F) */ |
382 | = (USART DIVMANT << 4) + (USART DIVFRAQ & 0xF0) + (USART DIVFRAQ & 0x0F) */ |
401 | #define __LL_USART_DIV_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (((__LL_USART_DIVMANT_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) << 4) + \ |
383 | #define __LL_USART_DIV_SAMPLING16(__PERIPHCLK__, __BAUDRATE__) (((__LL_USART_DIVMANT_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) << 4) + \ |
402 | (__LL_USART_DIVFRAQ_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) & 0xF0)) + \ |
384 | (__LL_USART_DIVFRAQ_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) & 0xF0)) + \ |
403 | (__LL_USART_DIVFRAQ_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) & 0x0F)) |
385 | (__LL_USART_DIVFRAQ_SAMPLING16((__PERIPHCLK__), (__BAUDRATE__)) & 0x0F)) |
Line 1066... | Line 1048... | ||
1066 | * @arg @ref LL_USART_OVERSAMPLING_8 |
1048 | * @arg @ref LL_USART_OVERSAMPLING_8 |
1067 | * @retval Baud Rate |
1049 | * @retval Baud Rate |
1068 | */ |
1050 | */ |
1069 | __STATIC_INLINE uint32_t LL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t OverSampling) |
1051 | __STATIC_INLINE uint32_t LL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t OverSampling) |
1070 | { |
1052 | { |
1071 | register uint32_t usartdiv = 0x0U; |
1053 | uint32_t usartdiv = 0x0U; |
1072 | register uint32_t brrresult = 0x0U; |
1054 | uint32_t brrresult = 0x0U; |
1073 | 1055 | ||
1074 | usartdiv = USARTx->BRR; |
1056 | usartdiv = USARTx->BRR; |
1075 | 1057 | ||
1076 | if (OverSampling == LL_USART_OVERSAMPLING_8) |
1058 | if (OverSampling == LL_USART_OVERSAMPLING_8) |
1077 | { |
1059 | { |
Line 1103... | Line 1085... | ||
1103 | * @param BaudRate Baud Rate |
1085 | * @param BaudRate Baud Rate |
1104 | * @retval None |
1086 | * @retval None |
1105 | */ |
1087 | */ |
1106 | __STATIC_INLINE void LL_USART_SetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t BaudRate) |
1088 | __STATIC_INLINE void LL_USART_SetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk, uint32_t BaudRate) |
1107 | { |
1089 | { |
1108 | USARTx->BRR = (uint16_t)(__LL_USART_DIV_SAMPLING16(PeriphClk, BaudRate)); |
1090 | USARTx->BRR = (uint16_t)(__LL_USART_DIV_SAMPLING16(PeriphClk, BaudRate)); |
1109 | } |
1091 | } |
1110 | 1092 | ||
1111 | /** |
1093 | /** |
1112 | * @brief Return current Baud Rate value, according to USARTDIV present in BRR register |
1094 | * @brief Return current Baud Rate value, according to USARTDIV present in BRR register |
1113 | * (full BRR content), and to used Peripheral Clock and Oversampling mode values |
1095 | * (full BRR content), and to used Peripheral Clock and Oversampling mode values |
Line 1117... | Line 1099... | ||
1117 | * @param PeriphClk Peripheral Clock |
1099 | * @param PeriphClk Peripheral Clock |
1118 | * @retval Baud Rate |
1100 | * @retval Baud Rate |
1119 | */ |
1101 | */ |
1120 | __STATIC_INLINE uint32_t LL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk) |
1102 | __STATIC_INLINE uint32_t LL_USART_GetBaudRate(USART_TypeDef *USARTx, uint32_t PeriphClk) |
1121 | { |
1103 | { |
1122 | register uint32_t usartdiv = 0x0U; |
1104 | uint32_t usartdiv = 0x0U; |
1123 | register uint32_t brrresult = 0x0U; |
1105 | uint32_t brrresult = 0x0U; |
1124 | 1106 | ||
1125 | usartdiv = USARTx->BRR; |
1107 | usartdiv = USARTx->BRR; |
1126 | 1108 | ||
1127 | if ((usartdiv & 0xFFFFU) != 0U) |
1109 | if ((usartdiv & 0xFFFFU) != 0U) |
1128 | { |
1110 | { |
Line 1931... | Line 1913... | ||
1931 | 1913 | ||
1932 | /** |
1914 | /** |
1933 | * @brief Clear Parity Error Flag |
1915 | * @brief Clear Parity Error Flag |
1934 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1916 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1935 | * register followed by a read access to the USARTx_DR register. |
1917 | * register followed by a read access to the USARTx_DR register. |
1936 | * @note Please also consider that when clearing this flag, other flags as |
1918 | * @note Please also consider that when clearing this flag, other flags as |
1937 | * NE, FE, ORE, IDLE would also be cleared. |
1919 | * NE, FE, ORE, IDLE would also be cleared. |
1938 | * @rmtoll SR PE LL_USART_ClearFlag_PE |
1920 | * @rmtoll SR PE LL_USART_ClearFlag_PE |
1939 | * @param USARTx USART Instance |
1921 | * @param USARTx USART Instance |
1940 | * @retval None |
1922 | * @retval None |
1941 | */ |
1923 | */ |
Line 1950... | Line 1932... | ||
1950 | 1932 | ||
1951 | /** |
1933 | /** |
1952 | * @brief Clear Framing Error Flag |
1934 | * @brief Clear Framing Error Flag |
1953 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1935 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1954 | * register followed by a read access to the USARTx_DR register. |
1936 | * register followed by a read access to the USARTx_DR register. |
1955 | * @note Please also consider that when clearing this flag, other flags as |
1937 | * @note Please also consider that when clearing this flag, other flags as |
1956 | * PE, NE, ORE, IDLE would also be cleared. |
1938 | * PE, NE, ORE, IDLE would also be cleared. |
1957 | * @rmtoll SR FE LL_USART_ClearFlag_FE |
1939 | * @rmtoll SR FE LL_USART_ClearFlag_FE |
1958 | * @param USARTx USART Instance |
1940 | * @param USARTx USART Instance |
1959 | * @retval None |
1941 | * @retval None |
1960 | */ |
1942 | */ |
Line 1969... | Line 1951... | ||
1969 | 1951 | ||
1970 | /** |
1952 | /** |
1971 | * @brief Clear Noise detected Flag |
1953 | * @brief Clear Noise detected Flag |
1972 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1954 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1973 | * register followed by a read access to the USARTx_DR register. |
1955 | * register followed by a read access to the USARTx_DR register. |
1974 | * @note Please also consider that when clearing this flag, other flags as |
1956 | * @note Please also consider that when clearing this flag, other flags as |
1975 | * PE, FE, ORE, IDLE would also be cleared. |
1957 | * PE, FE, ORE, IDLE would also be cleared. |
1976 | * @rmtoll SR NF LL_USART_ClearFlag_NE |
1958 | * @rmtoll SR NF LL_USART_ClearFlag_NE |
1977 | * @param USARTx USART Instance |
1959 | * @param USARTx USART Instance |
1978 | * @retval None |
1960 | * @retval None |
1979 | */ |
1961 | */ |
Line 1988... | Line 1970... | ||
1988 | 1970 | ||
1989 | /** |
1971 | /** |
1990 | * @brief Clear OverRun Error Flag |
1972 | * @brief Clear OverRun Error Flag |
1991 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1973 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1992 | * register followed by a read access to the USARTx_DR register. |
1974 | * register followed by a read access to the USARTx_DR register. |
1993 | * @note Please also consider that when clearing this flag, other flags as |
1975 | * @note Please also consider that when clearing this flag, other flags as |
1994 | * PE, NE, FE, IDLE would also be cleared. |
1976 | * PE, NE, FE, IDLE would also be cleared. |
1995 | * @rmtoll SR ORE LL_USART_ClearFlag_ORE |
1977 | * @rmtoll SR ORE LL_USART_ClearFlag_ORE |
1996 | * @param USARTx USART Instance |
1978 | * @param USARTx USART Instance |
1997 | * @retval None |
1979 | * @retval None |
1998 | */ |
1980 | */ |
Line 2007... | Line 1989... | ||
2007 | 1989 | ||
2008 | /** |
1990 | /** |
2009 | * @brief Clear IDLE line detected Flag |
1991 | * @brief Clear IDLE line detected Flag |
2010 | * @note Clearing this flag is done by a read access to the USARTx_SR |
1992 | * @note Clearing this flag is done by a read access to the USARTx_SR |
2011 | * register followed by a read access to the USARTx_DR register. |
1993 | * register followed by a read access to the USARTx_DR register. |
2012 | * @note Please also consider that when clearing this flag, other flags as |
1994 | * @note Please also consider that when clearing this flag, other flags as |
2013 | * PE, NE, FE, ORE would also be cleared. |
1995 | * PE, NE, FE, ORE would also be cleared. |
2014 | * @rmtoll SR IDLE LL_USART_ClearFlag_IDLE |
1996 | * @rmtoll SR IDLE LL_USART_ClearFlag_IDLE |
2015 | * @param USARTx USART Instance |
1997 | * @param USARTx USART Instance |
2016 | * @retval None |
1998 | * @retval None |
2017 | */ |
1999 | */ |
Line 2030... | Line 2012... | ||
2030 | * @param USARTx USART Instance |
2012 | * @param USARTx USART Instance |
2031 | * @retval None |
2013 | * @retval None |
2032 | */ |
2014 | */ |
2033 | __STATIC_INLINE void LL_USART_ClearFlag_TC(USART_TypeDef *USARTx) |
2015 | __STATIC_INLINE void LL_USART_ClearFlag_TC(USART_TypeDef *USARTx) |
2034 | { |
2016 | { |
2035 | WRITE_REG(USARTx->SR , ~(USART_SR_TC)); |
2017 | WRITE_REG(USARTx->SR, ~(USART_SR_TC)); |
2036 | } |
2018 | } |
2037 | 2019 | ||
2038 | /** |
2020 | /** |
2039 | * @brief Clear RX Not Empty Flag |
2021 | * @brief Clear RX Not Empty Flag |
2040 | * @rmtoll SR RXNE LL_USART_ClearFlag_RXNE |
2022 | * @rmtoll SR RXNE LL_USART_ClearFlag_RXNE |
2041 | * @param USARTx USART Instance |
2023 | * @param USARTx USART Instance |
2042 | * @retval None |
2024 | * @retval None |
2043 | */ |
2025 | */ |
2044 | __STATIC_INLINE void LL_USART_ClearFlag_RXNE(USART_TypeDef *USARTx) |
2026 | __STATIC_INLINE void LL_USART_ClearFlag_RXNE(USART_TypeDef *USARTx) |
2045 | { |
2027 | { |
2046 | WRITE_REG(USARTx->SR , ~(USART_SR_RXNE)); |
2028 | WRITE_REG(USARTx->SR, ~(USART_SR_RXNE)); |
2047 | } |
2029 | } |
2048 | 2030 | ||
2049 | /** |
2031 | /** |
2050 | * @brief Clear LIN Break Detection Flag |
2032 | * @brief Clear LIN Break Detection Flag |
2051 | * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not |
2033 | * @note Macro @ref IS_UART_LIN_INSTANCE(USARTx) can be used to check whether or not |
Line 2054... | Line 2036... | ||
2054 | * @param USARTx USART Instance |
2036 | * @param USARTx USART Instance |
2055 | * @retval None |
2037 | * @retval None |
2056 | */ |
2038 | */ |
2057 | __STATIC_INLINE void LL_USART_ClearFlag_LBD(USART_TypeDef *USARTx) |
2039 | __STATIC_INLINE void LL_USART_ClearFlag_LBD(USART_TypeDef *USARTx) |
2058 | { |
2040 | { |
2059 | WRITE_REG(USARTx->SR , ~(USART_SR_LBD)); |
2041 | WRITE_REG(USARTx->SR, ~(USART_SR_LBD)); |
2060 | } |
2042 | } |
2061 | 2043 | ||
2062 | /** |
2044 | /** |
2063 | * @brief Clear CTS Interrupt Flag |
2045 | * @brief Clear CTS Interrupt Flag |
2064 | * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not |
2046 | * @note Macro @ref IS_UART_HWFLOW_INSTANCE(USARTx) can be used to check whether or not |
Line 2067... | Line 2049... | ||
2067 | * @param USARTx USART Instance |
2049 | * @param USARTx USART Instance |
2068 | * @retval None |
2050 | * @retval None |
2069 | */ |
2051 | */ |
2070 | __STATIC_INLINE void LL_USART_ClearFlag_nCTS(USART_TypeDef *USARTx) |
2052 | __STATIC_INLINE void LL_USART_ClearFlag_nCTS(USART_TypeDef *USARTx) |
2071 | { |
2053 | { |
2072 | WRITE_REG(USARTx->SR , ~(USART_SR_CTS)); |
2054 | WRITE_REG(USARTx->SR, ~(USART_SR_CTS)); |
2073 | } |
2055 | } |
2074 | 2056 | ||
2075 | /** |
2057 | /** |
2076 | * @} |
2058 | * @} |
2077 | */ |
2059 | */ |
Line 2446... | Line 2428... | ||
2446 | * @retval Address of data register |
2428 | * @retval Address of data register |
2447 | */ |
2429 | */ |
2448 | __STATIC_INLINE uint32_t LL_USART_DMA_GetRegAddr(USART_TypeDef *USARTx) |
2430 | __STATIC_INLINE uint32_t LL_USART_DMA_GetRegAddr(USART_TypeDef *USARTx) |
2449 | { |
2431 | { |
2450 | /* return address of DR register */ |
2432 | /* return address of DR register */ |
2451 | return ((uint32_t) &(USARTx->DR)); |
2433 | return ((uint32_t) & (USARTx->DR)); |
2452 | } |
2434 | } |
2453 | 2435 | ||
2454 | /** |
2436 | /** |
2455 | * @} |
2437 | * @} |
2456 | */ |
2438 | */ |