2 ******************************************************************************
4 * @brief STM32 assert file.
5 ******************************************************************************
6 * This notice applies to any and all portions of this file
7 * that are not between comment pairs USER CODE BEGIN and
8 * USER CODE END. Other portions of this file, whether
9 * inserted by the user or by software development tools
10 * are owned by their respective copyright owners.
12 * Copyright (c) 2018 STMicroelectronics International N.V.
13 * All rights reserved.
15 * Redistribution and use in source and binary forms, with or without
16 * modification, are permitted, provided that the following conditions are met:
18 * 1. Redistribution of source code must retain the above copyright notice,
19 * this list of conditions and the following disclaimer.
20 * 2. Redistributions in binary form must reproduce the above copyright notice,
21 * this list of conditions and the following disclaimer in the documentation
22 * and/or other materials provided with the distribution.
23 * 3. Neither the name of STMicroelectronics nor the names of other
24 * contributors to this software may be used to endorse or promote products
25 * derived from this software without specific written permission.
26 * 4. This software, including modifications and/or derivative works of this
27 * software, must execute solely and exclusively on microcontroller or
28 * microprocessor devices manufactured by or for STMicroelectronics.
29 * 5. Redistribution and use of this software other than as permitted under
30 * this license is void and will automatically terminate your rights under
33 * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
34 * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
35 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
36 * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
37 * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
38 * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
39 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
40 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
41 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
42 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
43 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
44 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46 ******************************************************************************
49 /* Define to prevent recursive inclusion -------------------------------------*/
50 #ifndef __STM32_ASSERT_H
51 #define __STM32_ASSERT_H
57 /* Exported types ------------------------------------------------------------*/
58 /* Exported constants --------------------------------------------------------*/
59 /* Includes ------------------------------------------------------------------*/
60 /* Exported macro ------------------------------------------------------------*/
61 #ifdef USE_FULL_ASSERT
63 * @brief The assert_param macro is used for function's parameters check.
64 * @param expr: If expr is false, it calls assert_failed function
65 * which reports the name of the source file and the source
66 * line number of the call that failed.
67 * If expr is true, it returns no value.
70 #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
71 /* Exported functions ------------------------------------------------------- */
72 void assert_failed(uint8_t* file, uint32_t line);
74 #define assert_param(expr) ((void)0U)
75 #endif /* USE_FULL_ASSERT */
81 #endif /* __STM32_ASSERT_H */
83 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/