assert_param 错误的解决方法

方1:在MDK和IAR上使用stm32的3.0库建立一个新工程的时候,发现会发出warning:  #223-D: function "assert_param" declared implicitly的警告。 
解决方法很简单,MDK的在工程上点右键,选择options,选择C/C++选项,在defined的框里填上 USE_STDPERIPH_DRIVER就可以了。 方2  
在user\stm32f10x.h中添加如下宏定义:  
#if !defined  USE_STDPERIPH_DRIVER   //这句为系统自带的   
 #define USE_STDPERIPH_DRIVER  1  //添加此句 或者: 
#define USE_STDPERIPH_DRIVER     //添加此句  /**     
 * @brief Comment the line below if you will not use the peripherals drivers.    In this case, these drivers will not be included and the application code will     be based on direct access to peripherals registers     */ 
  /*#define USE_STDPERIPH_DRIVER*/ #endif     //这句为系统自带的    
如何使用assert_param 
2010-02-02 21:57:40 
如何使用assert_param  
在STM32的固件库和提供的例程中,到处都可以见到assert_param()的使用。如果打开任何一个例程中的stm32f10x_conf.h文件,就可以看到实际上assert_param是一个宏定义;在固件库中,它的作用就是检测传递给函数的参数是否是有效的参数。 
所谓有效的参数是指满足规定范围的参数,比如某个参数的取值范围只能是小于3的正整数,如果给出的参数大于3,则这个assert_param()可以在运行的程序调用到这个函数时报告错误,使程序员可以及时发现错误,而不必等到程序运行结果的错误而大费周折。

你可能感兴趣的:(单片机STM32,C#)