assert_param函数的用法

本文详细介绍了STM32中assert_param宏的作用及其在参数校验中的应用,并展示了如何通过assert_failed函数进行错误报告。

在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;

在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。

举例说明:

  assert_param(IS_USART_ALL_PERIPH(USARTx));  

 这句代码用于检查参数USARTx是否有效,其中IS_USART_ALL_PERIPH(USARTx)是一个宏定义,如下:

#define IS_USART_ALL_PERIPH(PERIPH) (((PERIPH) == USART1) || \
                                     ((PERIPH) == USART2) || \
                                     ((PERIPH) == USART3) || \
                                     ((PERIPH) == USART4) || \
                                     ((PERIPH) == USART5) || \
                                     ((PERIPH) == USART6) || \
                                     ((PERIPH) == USART7) || \
                                     ((PERIPH) == USART8))

宏定义的功能是参数USARTx是USART1~USART8其中的一个,表示参数USARTx有效,返回true,否则返回false。

assert_param()也是一个宏,定义在stm32f0xx_conf.h中,具体如下:

/* #define USE_FULL_ASSERT    1 */

/* Exported macro ------------------------------------------------------------*/
#ifdef  USE_FULL_ASSERT

/**
  * @brief  The assert_param macro is used for function's parameters check.
  * @param  expr: If expr is false, it calls assert_failed function which reports 
  *         the name of the source file and the source line number of the call 
  *         that failed. If expr is true, it returns no value.
  * @retval None
  */
  #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
  void assert_failed(uint8_t* file, uint32_t line);
#else
  #define assert_param(expr) ((void)0)
#endif /* USE_FULL_ASSERT */

如果USE_FULL_ASSERT宏定义了,则执行下面的代码:

#define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__))  //表示参数expr为false,则执行后面的assert_failed()函数,__FILE__, __LINE__是标准库函数中的宏定义,表示文件名和行号
 void assert_failed(uint8_t* file, uint32_t line);  //申明该函数

如果USE_FULL_ASSERT没有宏定义,则执行((void)0),即什么都不做。

 

assert_failed()函数的具体实现在main.c中(在任何一个例程中的main.c中都有这个函数的模板),内容如下:

 1 #ifdef  USE_FULL_ASSERT
 2 
 3 /**
 4   * @brief  Reports the name of the source file and the source line number
 5   *         where the assert_param error has occurred.
 6   * @param  file: pointer to the source file name
 7   * @param  line: assert_param error line source number
 8   * @retval None
 9   */
10 void assert_failed(uint8_t* file, uint32_t line)
11 { 
12   /* User can add his own implementation to report the file name and line number,
13      ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
14 
15   /* Infinite loop */
16   while (1)
17   {
18   }
19 }
20 #endif

assert_failed()函数给了一个框架,内部具体实现需要开发者自己去写,通常是用串口把文件名和行号打印出来。

 

要使assert_failed()函数生效,需要宏定义USE_FULL_ASSERT,并且包含头文件stm32f0xx_conf.h;在stm32f0xx.h文件中,有如下代码:

#ifdef USE_STDPERIPH_DRIVER
  #include "stm32f0xx_conf.h"
#endif

只要宏定义USE_STDPERIPH_DRIVER,就能包含头文件stm32f0xx_conf.h了。

宏定义可以在文件中写,也可以直接在软件中设置,如下图:

注意:assert_failed()函数一般在代码调试时使用,可以帮助开发者检查输入参数无效的错误,但由于assert_failed()函数会影响代码执行效率,在程序release时,需要屏蔽掉,将宏定义USE_FULL_ASSERT注释即可。

 

转载于:https://www.cnblogs.com/leo0621/p/9435794.html

Build started: Project: iSO-STM32 *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Build target '代码模板' compiling main.c... ..\..\User\main.c(3): error: #5: cannot open source input file "lcd.h": No such file or directory #include "lcd.h" ..\..\User\main.c: 0 warnings, 1 error compiling system_stm32f10x.c... compiling misc.c... ..\..\Libraries\FWlib\src\misc.c(99): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup)); ..\..\Libraries\FWlib\src\misc.c(117): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd)); ..\..\Libraries\FWlib\src\misc.c(159): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); ..\..\Libraries\FWlib\src\misc.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_LP(LowPowerMode)); ..\..\Libraries\FWlib\src\misc.c(202): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource)); ..\..\Libraries\FWlib\src\misc.c: 5 warnings, 0 errors compiling stm32f10x_rcc.c... ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(273): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HSE(RCC_HSE)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(338): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(357): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(383): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(404): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(568): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(612): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HCLK(RCC_SYSCLK)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(638): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(664): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(703): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_IT(RCC_IT)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(731): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_USBCLK_SOURCE(RCC_USBCLKSource)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(770): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_ADCCLK(RCC_PCLK2)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(832): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_LSE(RCC_LSE)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(865): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(882): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(896): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1067): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1098): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1129): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1188): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1219): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1240): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1253): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1285): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_MCO(RCC_MCO)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1332): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_FLAG(RCC_FLAG)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1406): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_GET_IT(RCC_IT)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c(1451): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CLEAR_IT(RCC_IT)); ..\..\Libraries\FWlib\src\stm32f10x_rcc.c: 27 warnings, 0 errors compiling stm32f10x_gpio.c... ..\..\Libraries\src\stm32f10x_gpio.c(111): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(286): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(308): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(324): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(346): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(361): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(377): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(397): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(420): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(437): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\src\stm32f10x_gpio.c(466): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EVENTOUT_PORT_SOURCE(GPIO_PortSource)); ..\..\Libraries\src\stm32f10x_gpio.c(486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_gpio.c(554): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_REMAP(GPIO_Remap)); ..\..\Libraries\src\stm32f10x_gpio.c(613): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EXTI_PORT_SOURCE(GPIO_PortSource)); ..\..\Libraries\src\stm32f10x_gpio.c(632): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); ..\..\Libraries\src\stm32f10x_gpio.c: 16 warnings, 0 errors compiling stm32f10x_rcc.c... ..\..\Libraries\src\stm32f10x_rcc.c(273): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HSE(RCC_HSE)); ..\..\Libraries\src\stm32f10x_rcc.c(338): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue)); ..\..\Libraries\src\stm32f10x_rcc.c(357): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_rcc.c(383): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource)); ..\..\Libraries\src\stm32f10x_rcc.c(404): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_rcc.c(568): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource)); ..\..\Libraries\src\stm32f10x_rcc.c(612): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HCLK(RCC_SYSCLK)); ..\..\Libraries\src\stm32f10x_rcc.c(638): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); ..\..\Libraries\src\stm32f10x_rcc.c(664): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); ..\..\Libraries\src\stm32f10x_rcc.c(703): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_IT(RCC_IT)); ..\..\Libraries\src\stm32f10x_rcc.c(731): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_USBCLK_SOURCE(RCC_USBCLKSource)); ..\..\Libraries\src\stm32f10x_rcc.c(770): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_ADCCLK(RCC_PCLK2)); ..\..\Libraries\src\stm32f10x_rcc.c(832): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_LSE(RCC_LSE)); ..\..\Libraries\src\stm32f10x_rcc.c(865): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_rcc.c(882): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource)); ..\..\Libraries\src\stm32f10x_rcc.c(896): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_rcc.c(1067): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph)); ..\..\Libraries\src\stm32f10x_rcc.c(1098): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); ..\..\Libraries\src\stm32f10x_rcc.c(1129): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); ..\..\Libraries\src\stm32f10x_rcc.c(1188): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); ..\..\Libraries\src\stm32f10x_rcc.c(1219): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); ..\..\Libraries\src\stm32f10x_rcc.c(1240): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_rcc.c(1253): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\src\stm32f10x_rcc.c(1285): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_MCO(RCC_MCO)); ..\..\Libraries\src\stm32f10x_rcc.c(1332): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_FLAG(RCC_FLAG)); ..\..\Libraries\src\stm32f10x_rcc.c(1406): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_GET_IT(RCC_IT)); ..\..\Libraries\src\stm32f10x_rcc.c(1451): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CLEAR_IT(RCC_IT)); ..\..\Libraries\src\stm32f10x_rcc.c: 27 warnings, 0 errors compiling stm32f10x_gpio.c... ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(111): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(286): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(308): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(324): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(346): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(361): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(377): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(397): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(420): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(437): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(466): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EVENTOUT_PORT_SOURCE(GPIO_PortSource)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(554): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_REMAP(GPIO_Remap)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(613): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EXTI_PORT_SOURCE(GPIO_PortSource)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c(632): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); ..\..\Libraries\FWlib\src\stm32f10x_gpio.c: 16 warnings, 0 errors compiling core_cm3.c... compiling stm32f10x_tim.c... ..\..\Libraries\src\stm32f10x_tim.c(125): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(231): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(284): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(367): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(449): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(528): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(590): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_CHANNEL(TIM_ICInitStruct->TIM_Channel)); ..\..\Libraries\src\stm32f10x_tim.c(659): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(715): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(809): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(834): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(875): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(912): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(940): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST4_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(967): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST9_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(992): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1011): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1039): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1080): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1121): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1153): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1179): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1203): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1233): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1272): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST5_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1319): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1343): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1367): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1391): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1412): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1436): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1461): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST4_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST5_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1513): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1538): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1562): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1586): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1610): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1636): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1661): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1686): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1711): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1737): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1761): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1785): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1809): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1832): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1856): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1879): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST1_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1903): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1927): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST1_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1951): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(1979): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2009): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2051): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2095): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2123): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2147): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2173): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2205): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST7_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2228): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2249): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2267): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2281): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2295): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2309): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2323): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2337): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2356): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2378): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2400): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2422): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2444): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2460): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2473): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2499): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2512): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2525): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2560): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2603): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2637): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c(2679): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\..\Libraries\src\stm32f10x_tim.c: 83 warnings, 0 errors "..\..\Output\Hex_ZH.axf" - 1 Error(s), 174 Warning(s). Target not created. Build Time Elapsed: 00:00:02
最新发布
05-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值