1 /** 2 ****************************************************************************** 3 * @file stm32_assert.h 4 * @author MCD Application Team 5 * @brief STM32 assert template file. 6 * This file should be copied to the application folder and renamed 7 * to stm32_assert.h. 8 ****************************************************************************** 9 * @attention 10 * 11 * <h2><center>© COPYRIGHT(c) 2016 STMicroelectronics</center></h2> 12 * 13 * Redistribution and use in source and binary forms, with or without modification, 14 * are permitted provided that the following conditions are met: 15 * 1. Redistributions of source code must retain the above copyright notice, 16 * this list of conditions and the following disclaimer. 17 * 2. Redistributions in binary form must reproduce the above copyright notice, 18 * this list of conditions and the following disclaimer in the documentation 19 * and/or other materials provided with the distribution. 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors 21 * may be used to endorse or promote products derived from this software 22 * without specific prior written permission. 23 * 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 34 * 35 ****************************************************************************** 36 */ 37 38 /* Define to prevent recursive inclusion -------------------------------------*/ 39 #ifndef __STM32_ASSERT_H 40 #define __STM32_ASSERT_H 41 42 #ifdef __cplusplus 43 extern "C" { 44 #endif 45 46 /* Exported types ------------------------------------------------------------*/ 47 /* Exported constants --------------------------------------------------------*/ 48 /* Includes ------------------------------------------------------------------*/ 49 /* Exported macro ------------------------------------------------------------*/ 50 #ifdef USE_FULL_ASSERT 51 /** 52 * @brief The assert_param macro is used for function's parameters check. 53 * @param expr If expr is false, it calls assert_failed function 54 * which reports the name of the source file and the source 55 * line number of the call that failed. 56 * If expr is true, it returns no value. 57 * @retval None 58 */ 59 #define assert_param(expr) ((expr) ? (void)0U : assert_failed((char *)__FILE__, __LINE__)) 60 /* Exported functions ------------------------------------------------------- */ 61 void assert_failed(char* file, uint32_t line); 62 #else 63 #define assert_param(expr) ((void)0U) 64 #endif /* USE_FULL_ASSERT */ 65 66 #ifdef __cplusplus 67 } 68 #endif 69 70 #endif /* __STM32_ASSERT_H */ 71 72 73 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 74