Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of TUKS-COURSE-TIMER by
stm32l4xx_hal_irda_ex.h
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l4xx_hal_irda_ex.h 00004 * @author MCD Application Team 00005 * @version V1.5.1 00006 * @date 31-May-2016 00007 * @brief Header file of IRDA HAL Extended module. 00008 ****************************************************************************** 00009 * @attention 00010 * 00011 * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> 00012 * 00013 * Redistribution and use in source and binary forms, with or without modification, 00014 * are permitted provided that the following conditions are met: 00015 * 1. Redistributions of source code must retain the above copyright notice, 00016 * this list of conditions and the following disclaimer. 00017 * 2. Redistributions in binary form must reproduce the above copyright notice, 00018 * this list of conditions and the following disclaimer in the documentation 00019 * and/or other materials provided with the distribution. 00020 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00021 * may be used to endorse or promote products derived from this software 00022 * without specific prior written permission. 00023 * 00024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00027 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00028 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00029 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00030 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00031 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00032 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00033 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00034 * 00035 ****************************************************************************** 00036 */ 00037 00038 /* Define to prevent recursive inclusion -------------------------------------*/ 00039 #ifndef __STM32L4xx_HAL_IRDA_EX_H 00040 #define __STM32L4xx_HAL_IRDA_EX_H 00041 00042 #ifdef __cplusplus 00043 extern "C" { 00044 #endif 00045 00046 /* Includes ------------------------------------------------------------------*/ 00047 #include "stm32l4xx_hal_def.h" 00048 00049 /** @addtogroup STM32L4xx_HAL_Driver 00050 * @{ 00051 */ 00052 00053 /** @addtogroup IRDAEx 00054 * @{ 00055 */ 00056 00057 /* Exported types ------------------------------------------------------------*/ 00058 /* Exported constants --------------------------------------------------------*/ 00059 /* Exported macros -----------------------------------------------------------*/ 00060 /* Exported functions --------------------------------------------------------*/ 00061 00062 /* Private macros ------------------------------------------------------------*/ 00063 00064 /** @defgroup IRDAEx_Private_Macros IRDAEx Private Macros 00065 * @{ 00066 */ 00067 00068 /** @brief Report the IRDA clock source. 00069 * @param __HANDLE__: specifies the IRDA Handle. 00070 * @param __CLOCKSOURCE__: output variable. 00071 * @retval IRDA clocking source, written in __CLOCKSOURCE__. 00072 */ 00073 #if defined (STM32L471xx) || defined (STM32L475xx) || defined (STM32L476xx) || defined (STM32L485xx) || defined (STM32L486xx) 00074 #define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ 00075 do { \ 00076 if((__HANDLE__)->Instance == USART1) \ 00077 { \ 00078 switch(__HAL_RCC_GET_USART1_SOURCE()) \ 00079 { \ 00080 case RCC_USART1CLKSOURCE_PCLK2: \ 00081 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK2; \ 00082 break; \ 00083 case RCC_USART1CLKSOURCE_HSI: \ 00084 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00085 break; \ 00086 case RCC_USART1CLKSOURCE_SYSCLK: \ 00087 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00088 break; \ 00089 case RCC_USART1CLKSOURCE_LSE: \ 00090 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00091 break; \ 00092 default: \ 00093 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00094 break; \ 00095 } \ 00096 } \ 00097 else if((__HANDLE__)->Instance == USART2) \ 00098 { \ 00099 switch(__HAL_RCC_GET_USART2_SOURCE()) \ 00100 { \ 00101 case RCC_USART2CLKSOURCE_PCLK1: \ 00102 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00103 break; \ 00104 case RCC_USART2CLKSOURCE_HSI: \ 00105 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00106 break; \ 00107 case RCC_USART2CLKSOURCE_SYSCLK: \ 00108 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00109 break; \ 00110 case RCC_USART2CLKSOURCE_LSE: \ 00111 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00112 break; \ 00113 default: \ 00114 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00115 break; \ 00116 } \ 00117 } \ 00118 else if((__HANDLE__)->Instance == USART3) \ 00119 { \ 00120 switch(__HAL_RCC_GET_USART3_SOURCE()) \ 00121 { \ 00122 case RCC_USART3CLKSOURCE_PCLK1: \ 00123 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00124 break; \ 00125 case RCC_USART3CLKSOURCE_HSI: \ 00126 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00127 break; \ 00128 case RCC_USART3CLKSOURCE_SYSCLK: \ 00129 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00130 break; \ 00131 case RCC_USART3CLKSOURCE_LSE: \ 00132 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00133 break; \ 00134 default: \ 00135 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00136 break; \ 00137 } \ 00138 } \ 00139 else if((__HANDLE__)->Instance == UART4) \ 00140 { \ 00141 switch(__HAL_RCC_GET_UART4_SOURCE()) \ 00142 { \ 00143 case RCC_UART4CLKSOURCE_PCLK1: \ 00144 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00145 break; \ 00146 case RCC_UART4CLKSOURCE_HSI: \ 00147 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00148 break; \ 00149 case RCC_UART4CLKSOURCE_SYSCLK: \ 00150 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00151 break; \ 00152 case RCC_UART4CLKSOURCE_LSE: \ 00153 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00154 break; \ 00155 default: \ 00156 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00157 break; \ 00158 } \ 00159 } \ 00160 else if ((__HANDLE__)->Instance == UART5) \ 00161 { \ 00162 switch(__HAL_RCC_GET_UART5_SOURCE()) \ 00163 { \ 00164 case RCC_UART5CLKSOURCE_PCLK1: \ 00165 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00166 break; \ 00167 case RCC_UART5CLKSOURCE_HSI: \ 00168 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00169 break; \ 00170 case RCC_UART5CLKSOURCE_SYSCLK: \ 00171 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00172 break; \ 00173 case RCC_UART5CLKSOURCE_LSE: \ 00174 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00175 break; \ 00176 default: \ 00177 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00178 break; \ 00179 } \ 00180 } \ 00181 } while(0) 00182 #elif defined (STM32L431xx) || defined (STM32L433xx) || defined (STM32L443xx) 00183 #define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ 00184 do { \ 00185 if((__HANDLE__)->Instance == USART1) \ 00186 { \ 00187 switch(__HAL_RCC_GET_USART1_SOURCE()) \ 00188 { \ 00189 case RCC_USART1CLKSOURCE_PCLK2: \ 00190 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK2; \ 00191 break; \ 00192 case RCC_USART1CLKSOURCE_HSI: \ 00193 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00194 break; \ 00195 case RCC_USART1CLKSOURCE_SYSCLK: \ 00196 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00197 break; \ 00198 case RCC_USART1CLKSOURCE_LSE: \ 00199 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00200 break; \ 00201 default: \ 00202 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00203 break; \ 00204 } \ 00205 } \ 00206 else if((__HANDLE__)->Instance == USART2) \ 00207 { \ 00208 switch(__HAL_RCC_GET_USART2_SOURCE()) \ 00209 { \ 00210 case RCC_USART2CLKSOURCE_PCLK1: \ 00211 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00212 break; \ 00213 case RCC_USART2CLKSOURCE_HSI: \ 00214 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00215 break; \ 00216 case RCC_USART2CLKSOURCE_SYSCLK: \ 00217 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00218 break; \ 00219 case RCC_USART2CLKSOURCE_LSE: \ 00220 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00221 break; \ 00222 default: \ 00223 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00224 break; \ 00225 } \ 00226 } \ 00227 else if((__HANDLE__)->Instance == USART3) \ 00228 { \ 00229 switch(__HAL_RCC_GET_USART3_SOURCE()) \ 00230 { \ 00231 case RCC_USART3CLKSOURCE_PCLK1: \ 00232 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00233 break; \ 00234 case RCC_USART3CLKSOURCE_HSI: \ 00235 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00236 break; \ 00237 case RCC_USART3CLKSOURCE_SYSCLK: \ 00238 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00239 break; \ 00240 case RCC_USART3CLKSOURCE_LSE: \ 00241 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00242 break; \ 00243 default: \ 00244 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00245 break; \ 00246 } \ 00247 } \ 00248 } while(0) 00249 #elif defined (STM32L432xx) || defined (STM32L442xx) 00250 #define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \ 00251 do { \ 00252 if((__HANDLE__)->Instance == USART1) \ 00253 { \ 00254 switch(__HAL_RCC_GET_USART1_SOURCE()) \ 00255 { \ 00256 case RCC_USART1CLKSOURCE_PCLK2: \ 00257 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK2; \ 00258 break; \ 00259 case RCC_USART1CLKSOURCE_HSI: \ 00260 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00261 break; \ 00262 case RCC_USART1CLKSOURCE_SYSCLK: \ 00263 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00264 break; \ 00265 case RCC_USART1CLKSOURCE_LSE: \ 00266 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00267 break; \ 00268 default: \ 00269 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00270 break; \ 00271 } \ 00272 } \ 00273 else if((__HANDLE__)->Instance == USART2) \ 00274 { \ 00275 switch(__HAL_RCC_GET_USART2_SOURCE()) \ 00276 { \ 00277 case RCC_USART2CLKSOURCE_PCLK1: \ 00278 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \ 00279 break; \ 00280 case RCC_USART2CLKSOURCE_HSI: \ 00281 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \ 00282 break; \ 00283 case RCC_USART2CLKSOURCE_SYSCLK: \ 00284 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \ 00285 break; \ 00286 case RCC_USART2CLKSOURCE_LSE: \ 00287 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \ 00288 break; \ 00289 default: \ 00290 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \ 00291 break; \ 00292 } \ 00293 } \ 00294 } while(0) 00295 #endif 00296 00297 /** 00298 * @} 00299 */ 00300 00301 /* Exported functions --------------------------------------------------------*/ 00302 00303 /** 00304 * @} 00305 */ 00306 00307 /** 00308 * @} 00309 */ 00310 00311 #ifdef __cplusplus 00312 } 00313 #endif 00314 00315 #endif /* __STM32L4xx_HAL_IRDA_EX_H */ 00316 00317 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Tue Jul 12 2022 17:38:49 by
