assert、atexit、bsearch、tolower、offsetof及va_list

本文深入探讨了C++编程中的关键概念和技术,包括屏蔽assert函数、使用atexit、二分搜索、大小写转换、结构体偏移量计算以及不定参数函数等。详细解释了每个功能的实现和应用,为读者提供了丰富的实践经验和理论知识。

1.屏蔽assert函数


#define NDEBUG  ("no debug")    //shield the function of assert ... 
#include <assert.h>
#include <stdlib.h>


void
open_record(char *record_name)
{
    assert(record_name!=NULL);
        /* Rest of code */
    printf("\nRecord name is:%s\n", record_name);
}

int
main(void)
{
      open_record(NULL);
      open_record("I love janesnf...");
      open_record(NULL);

      return 0;
}


2. 调用atexit

#include <stdio.h>
#include <stdlib.h>

void
test_atexit0(void)
{
    printf("\nHosfore 000000 is using atexit function ...\n");
}

void
test_atexit(void)
{
    printf("\nHosfore is using atexit function ...\n");
}

int
main()
{
    int i = 0;
    atexit(test_atexit);
    atexit(test_atexit0);
    atexit(test_atexit);
    atexit(test_atexit0);

    for (; i < 100; i++)
        printf("\n----\n");

    return 0;
}


3.调用二分搜索函数,搜索从数组的平均值开始

#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#define  DEBUG 0

int
compare(const void *key, const void *current)
{
    assert(key != NULL);
    assert(current != NULL);

#if(DEBUG)
    printf("\nIn %s and key val:%d, current val:%d\n",\
            __func__, *(int*)key, *(int*)current);
#endif

    if (*(int*)key > *(int*)current)
        return 1;
    else if (*(int*)key == *(int*)current)
        return 0;
    else
        return -1;
}

int
main()
{
    int key = 2, arr[10], i = 0, *rt;
    for (; i < 10; i++)
       arr[i] = 2+i;
#if(DEBUG)
    printf("\nIn %s and sizeof arr is:%d, sizeof int is:%d\n",\
             __func__, sizeof(arr)/sizeof(arr[0]), sizeof(int));
#endif
    rt = bsearch(&key, arr, sizeof(arr)/sizeof(arr[0]), sizeof(int), compare);
    if (rt)
        printf("\nbsearch result of key:%d  is:%d and memory addr is:%p\n",\
                key, *rt, rt);
    return 0;
}

 4.大小写字母转换函数调用

#include<ctype.h>
#include<stdio.h>
#include<string.h>

int main(void)
{
    int loop;
    char string[]="THIS IS A TEST";

    printf("Orig: %s\n",string);
    for(loop=0;loop<strlen(string);loop++)
        string[loop]=tolower(string[loop]);
    printf("Tolowered:  %s\n",string);
    return 0;
}

 

5.求结构体属性在其内部地址偏移函数offsetof

 

#include<stddef.h>
#include<stdio.h>

int main(void)
{
    struct user{
        char name[50];
        char alias[50];
        int level;
    };

    printf("level is the %d byte in the user structure.\n",
             offsetof(struct user,level));
}

 

6.支持不定参数个数的函数(源自网络)

#include<stdarg.h>
#include<stdio.h>

void
sum(char *, int, ...);

int
main(void)
{
    sum("The sum of 10+15+13 is %d.\n",3,10,15,13);
    return 0;
}

void
sum(char *string, int num_args, ...)
{
    int sum=0;
    va_list ap;
    int loop;

    va_start(ap,num_args);
    for(loop=0;loop<num_args;loop++)
        sum+=va_arg(ap,int);

    printf(string,sum);
    va_end(ap);
}

 

Rebuild started: Project: STM32_Car *** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'STM32F105RCT6' compiling main.c... assembling startup_stm32f10x_hd.s... compiling stm32f10x_it.c... compiling stm32f10x_can.c... ..\Library\src\stm32f10x_can.c(125): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(159): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(296): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_FILTER_NUMBER(CAN_FilterInitStruct->CAN_FilterNumber)); ..\Library\src\stm32f10x_can.c(431): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_BANKNUMBER(CAN_BankNumber)); ..\Library\src\stm32f10x_can.c(454): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(484): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(519): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(594): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(646): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(674): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(723): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(747): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(782): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(861): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(888): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(927): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(951): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(971): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(1006): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(1048): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(1147): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(1207): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c(1309): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CAN_ALL_PERIPH(CANx)); ..\Library\src\stm32f10x_can.c: 23 warnings, 0 errors compiling stm32f10x_crc.c... compiling system_stm32f10x.c... compiling core_cm3.c... compiling misc.c... ..\Library\src\misc.c(99): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup)); ..\Library\src\misc.c(117): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd)); ..\Library\src\misc.c(159): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); ..\Library\src\misc.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_LP(LowPowerMode)); ..\Library\src\misc.c(202): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource)); ..\Library\src\misc.c: 5 warnings, 0 errors compiling stm32f10x_bkp.c... ..\Library\src\stm32f10x_bkp.c(137): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_BKP_TAMPER_PIN_LEVEL(BKP_TamperPinLevel)); ..\Library\src\stm32f10x_bkp.c(150): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_bkp.c(163): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_bkp.c(184): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_BKP_RTC_OUTPUT_SOURCE(BKP_RTCOutputSource)); ..\Library\src\stm32f10x_bkp.c(205): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_BKP_CALIBRATION_VALUE(CalibrationValue)); ..\Library\src\stm32f10x_bkp.c(227): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_BKP_DR(BKP_DR)); ..\Library\src\stm32f10x_bkp.c(246): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_BKP_DR(BKP_DR)); ..\Library\src\stm32f10x_bkp.c: 7 warnings, 0 errors compiling stm32f10x_cec.c... ..\Library\src\stm32f10x_cec.c(140): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_BIT_TIMING_ERROR_MODE(CEC_InitStruct->CEC_BitTimingMode)); ..\Library\src\stm32f10x_cec.c(167): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_cec.c(189): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_cec.c(202): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_ADDRESS(CEC_OwnAddress)); ..\Library\src\stm32f10x_cec.c(216): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_PRESCALER(CEC_Prescaler)); ..\Library\src\stm32f10x_cec.c(265): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_cec.c(297): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_GET_FLAG(CEC_FLAG)); ..\Library\src\stm32f10x_cec.c(354): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_CLEAR_FLAG(CEC_FLAG)); ..\Library\src\stm32f10x_cec.c(378): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_GET_IT(CEC_IT)); ..\Library\src\stm32f10x_cec.c(413): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_CEC_GET_IT(CEC_IT)); ..\Library\src\stm32f10x_cec.c: 10 warnings, 0 errors compiling stm32f10x_dbgmcu.c... ..\Library\src\stm32f10x_dbgmcu.c(137): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DBGMCU_PERIPH(DBGMCU_Periph)); ..\Library\src\stm32f10x_dbgmcu.c: 1 warning, 0 errors compiling stm32f10x_dac.c... ..\Library\src\stm32f10x_dac.c(121): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_TRIGGER(DAC_InitStruct->DAC_Trigger)); ..\Library\src\stm32f10x_dac.c(176): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_CHANNEL(DAC_Channel)); ..\Library\src\stm32f10x_dac.c(236): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_CHANNEL(DAC_Channel)); ..\Library\src\stm32f10x_dac.c(263): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_CHANNEL(DAC_Channel)); ..\Library\src\stm32f10x_dac.c(287): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_dac.c(317): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_CHANNEL(DAC_Channel)); ..\Library\src\stm32f10x_dac.c(347): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_ALIGN(DAC_Align)); ..\Library\src\stm32f10x_dac.c(372): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_ALIGN(DAC_Align)); ..\Library\src\stm32f10x_dac.c(401): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_ALIGN(DAC_Align)); ..\Library\src\stm32f10x_dac.c(435): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DAC_CHANNEL(DAC_Channel)); ..\Library\src\stm32f10x_dac.c: 10 warnings, 0 errors compiling stm32f10x_adc.c... ..\Library\src\stm32f10x_adc.c(182): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(223): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(302): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(327): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_DMA_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(357): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(382): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(396): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(420): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(434): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(460): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(485): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(514): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(539): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(594): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(689): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(711): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(737): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(763): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(803): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(827): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(852): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(877): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(934): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(998): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1030): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1057): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1086): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1111): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1149): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1170): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_adc.c(1199): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1231): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1252): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c(1287): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_ADC_ALL_PERIPH(ADCx)); ..\Library\src\stm32f10x_adc.c: 34 warnings, 0 errors compiling stm32f10x_dma.c... ..\Library\src\stm32f10x_dma.c(111): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); ..\Library\src\stm32f10x_dma.c(207): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); ..\Library\src\stm32f10x_dma.c(297): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); ..\Library\src\stm32f10x_dma.c(329): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); ..\Library\src\stm32f10x_dma.c(356): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); ..\Library\src\stm32f10x_dma.c(374): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_ALL_PERIPH(DMAy_Channelx)); ..\Library\src\stm32f10x_dma.c(439): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_GET_FLAG(DMAy_FLAG)); ..\Library\src\stm32f10x_dma.c(526): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_CLEAR_FLAG(DMAy_FLAG)); ..\Library\src\stm32f10x_dma.c(601): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_GET_IT(DMAy_IT)); ..\Library\src\stm32f10x_dma.c(687): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_DMA_CLEAR_IT(DMAy_IT)); ..\Library\src\stm32f10x_dma.c: 10 warnings, 0 errors compiling stm32f10x_exti.c... ..\Library\src\stm32f10x_exti.c(106): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_EXTI_MODE(EXTI_InitStruct->EXTI_Mode)); ..\Library\src\stm32f10x_exti.c(174): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_EXTI_LINE(EXTI_Line)); ..\Library\src\stm32f10x_exti.c(190): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GET_EXTI_LINE(EXTI_Line)); ..\Library\src\stm32f10x_exti.c(212): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_EXTI_LINE(EXTI_Line)); ..\Library\src\stm32f10x_exti.c(229): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GET_EXTI_LINE(EXTI_Line)); ..\Library\src\stm32f10x_exti.c(252): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_EXTI_LINE(EXTI_Line)); ..\Library\src\stm32f10x_exti.c: 6 warnings, 0 errors compiling stm32f10x_flash.c... ..\Library\src\stm32f10x_flash.c(259): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_LATENCY(FLASH_Latency)); ..\Library\src\stm32f10x_flash.c(284): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_HALFCYCLEACCESS_STATE(FLASH_HalfCycleAccess)); ..\Library\src\stm32f10x_flash.c(303): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_PREFETCHBUFFER_STATE(FLASH_PrefetchBuffer)); ..\Library\src\stm32f10x_flash.c(423): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_ADDRESS(Page_Address)); ..\Library\src\stm32f10x_flash.c(687): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_ADDRESS(Address)); ..\Library\src\stm32f10x_flash.c(862): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_ADDRESS(Address)); ..\Library\src\stm32f10x_flash.c(933): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_OB_DATA_ADDRESS(Address)); ..\Library\src\stm32f10x_flash.c(982): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_WRPROT_PAGE(FLASH_Pages)); ..\Library\src\stm32f10x_flash.c(1053): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_flash.c(1123): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_OB_IWDG_SOURCE(OB_IWDG)); ..\Library\src\stm32f10x_flash.c(1325): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_IT(FLASH_IT)); ..\Library\src\stm32f10x_flash.c(1402): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_GET_FLAG(FLASH_FLAG)) ; ..\Library\src\stm32f10x_flash.c(1462): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FLASH_CLEAR_FLAG(FLASH_FLAG)) ; ..\Library\src\stm32f10x_flash.c: 13 warnings, 0 errors compiling stm32f10x_gpio.c... ..\Library\src\stm32f10x_gpio.c(111): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(286): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(308): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(324): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(346): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(361): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(377): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(397): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(420): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(437): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); ..\Library\src\stm32f10x_gpio.c(466): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EVENTOUT_PORT_SOURCE(GPIO_PortSource)); ..\Library\src\stm32f10x_gpio.c(486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_gpio.c(554): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_REMAP(GPIO_Remap)); ..\Library\src\stm32f10x_gpio.c(613): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EXTI_PORT_SOURCE(GPIO_PortSource)); ..\Library\src\stm32f10x_gpio.c(632): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); ..\Library\src\stm32f10x_gpio.c: 16 warnings, 0 errors compiling stm32f10x_fsmc.c... ..\Library\src\stm32f10x_fsmc.c(105): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_NORSRAM_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(132): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_NAND_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(179): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_NORSRAM_BANK(FSMC_NORSRAMInitStruct->FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(267): warning: #223-D: function "assert_param" declared implicitly assert_param( IS_FSMC_NAND_BANK(FSMC_NANDInitStruct->FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(331): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_WAIT_FEATURE(FSMC_PCCARDInitStruct->FSMC_Waitfeature)); ..\Library\src\stm32f10x_fsmc.c(477): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_NORSRAM_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(503): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_NAND_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(540): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_fsmc.c(566): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_NAND_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(639): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_IT_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(703): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_GETFLAG_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(750): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_GETFLAG_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(788): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_IT_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c(836): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FSMC_IT_BANK(FSMC_Bank)); ..\Library\src\stm32f10x_fsmc.c: 14 warnings, 0 errors compiling stm32f10x_i2c.c... ..\Library\src\stm32f10x_i2c.c(165): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(198): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(325): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(349): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(373): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(397): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(421): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(445): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(470): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(495): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(519): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(548): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(573): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(586): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(604): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(641): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(661): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(699): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(727): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(751): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(782): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(806): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(828): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(843): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(867): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(893): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(1037): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(1084): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(1139): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(1216): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(1252): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c(1311): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_I2C_ALL_PERIPH(I2Cx)); ..\Library\src\stm32f10x_i2c.c: 32 warnings, 0 errors compiling stm32f10x_iwdg.c... ..\Library\src\stm32f10x_iwdg.c(95): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_IWDG_WRITE_ACCESS(IWDG_WriteAccess)); ..\Library\src\stm32f10x_iwdg.c(115): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_IWDG_PRESCALER(IWDG_Prescaler)); ..\Library\src\stm32f10x_iwdg.c(128): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_IWDG_RELOAD(Reload)); ..\Library\src\stm32f10x_iwdg.c(165): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_IWDG_FLAG(IWDG_FLAG)); ..\Library\src\stm32f10x_iwdg.c: 4 warnings, 0 errors compiling stm32f10x_pwr.c... ..\Library\src\stm32f10x_pwr.c(127): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_pwr.c(140): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_pwr.c(162): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_PWR_PVD_LEVEL(PWR_PVDLevel)); ..\Library\src\stm32f10x_pwr.c(181): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_pwr.c(201): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_PWR_REGULATOR(PWR_Regulator)); ..\Library\src\stm32f10x_pwr.c(265): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_PWR_GET_FLAG(PWR_FLAG)); ..\Library\src\stm32f10x_pwr.c(290): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_PWR_CLEAR_FLAG(PWR_FLAG)); ..\Library\src\stm32f10x_pwr.c: 7 warnings, 0 errors compiling stm32f10x_rcc.c... ..\Library\src\stm32f10x_rcc.c(273): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HSE(RCC_HSE)); ..\Library\src\stm32f10x_rcc.c(338): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue)); ..\Library\src\stm32f10x_rcc.c(357): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(383): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource)); ..\Library\src\stm32f10x_rcc.c(404): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(431): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PREDIV1_SOURCE(RCC_PREDIV1_Source)); ..\Library\src\stm32f10x_rcc.c(459): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PREDIV2(RCC_PREDIV2_Div)); ..\Library\src\stm32f10x_rcc.c(484): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PLL2_MUL(RCC_PLL2Mul)); ..\Library\src\stm32f10x_rcc.c(508): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(528): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PLL3_MUL(RCC_PLL3Mul)); ..\Library\src\stm32f10x_rcc.c(550): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(568): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource)); ..\Library\src\stm32f10x_rcc.c(612): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HCLK(RCC_SYSCLK)); ..\Library\src\stm32f10x_rcc.c(638): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); ..\Library\src\stm32f10x_rcc.c(664): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); ..\Library\src\stm32f10x_rcc.c(703): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_IT(RCC_IT)); ..\Library\src\stm32f10x_rcc.c(749): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_OTGFSCLK_SOURCE(RCC_OTGFSCLKSource)); ..\Library\src\stm32f10x_rcc.c(770): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_ADCCLK(RCC_PCLK2)); ..\Library\src\stm32f10x_rcc.c(795): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_I2S2CLK_SOURCE(RCC_I2S2CLKSource)); ..\Library\src\stm32f10x_rcc.c(814): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_I2S3CLK_SOURCE(RCC_I2S3CLKSource)); ..\Library\src\stm32f10x_rcc.c(832): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_LSE(RCC_LSE)); ..\Library\src\stm32f10x_rcc.c(865): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(882): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource)); ..\Library\src\stm32f10x_rcc.c(896): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(1067): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph)); ..\Library\src\stm32f10x_rcc.c(1098): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); ..\Library\src\stm32f10x_rcc.c(1129): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); ..\Library\src\stm32f10x_rcc.c(1156): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_AHB_PERIPH_RESET(RCC_AHBPeriph)); ..\Library\src\stm32f10x_rcc.c(1188): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); ..\Library\src\stm32f10x_rcc.c(1219): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); ..\Library\src\stm32f10x_rcc.c(1240): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(1253): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_rcc.c(1285): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_MCO(RCC_MCO)); ..\Library\src\stm32f10x_rcc.c(1332): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_FLAG(RCC_FLAG)); ..\Library\src\stm32f10x_rcc.c(1406): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_GET_IT(RCC_IT)); ..\Library\src\stm32f10x_rcc.c(1451): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CLEAR_IT(RCC_IT)); ..\Library\src\stm32f10x_rcc.c: 36 warnings, 0 errors compiling stm32f10x_rtc.c... ..\Library\src\stm32f10x_rtc.c(93): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RTC_IT(RTC_IT)); ..\Library\src\stm32f10x_rtc.c(163): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RTC_PRESCALER(PrescalerValue)); ..\Library\src\stm32f10x_rtc.c(249): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RTC_GET_FLAG(RTC_FLAG)); ..\Library\src\stm32f10x_rtc.c(276): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RTC_CLEAR_FLAG(RTC_FLAG)); ..\Library\src\stm32f10x_rtc.c(295): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RTC_GET_IT(RTC_IT)); ..\Library\src\stm32f10x_rtc.c(321): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RTC_IT(RTC_IT)); ..\Library\src\stm32f10x_rtc.c: 6 warnings, 0 errors compiling stm32f10x_sdio.c... ..\Library\src\stm32f10x_sdio.c(186): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_CLOCK_EDGE(SDIO_InitStruct->SDIO_ClockEdge)); ..\Library\src\stm32f10x_sdio.c(238): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(254): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_POWER_STATE(SDIO_PowerState)); ..\Library\src\stm32f10x_sdio.c(310): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_IT(SDIO_IT)); ..\Library\src\stm32f10x_sdio.c(334): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(351): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_CMD_INDEX(SDIO_CmdInitStruct->SDIO_CmdIndex)); ..\Library\src\stm32f10x_sdio.c(417): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_RESP(SDIO_RESP)); ..\Library\src\stm32f10x_sdio.c(436): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_DATA_LENGTH(SDIO_DataInitStruct->SDIO_DataLength)); ..\Library\src\stm32f10x_sdio.c(532): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(546): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(562): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_READWAIT_MODE(SDIO_ReadWaitMode)); ..\Library\src\stm32f10x_sdio.c(576): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(590): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(604): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(617): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(630): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); ..\Library\src\stm32f10x_sdio.c(671): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_FLAG(SDIO_FLAG)); ..\Library\src\stm32f10x_sdio.c(707): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_CLEAR_FLAG(SDIO_FLAG)); ..\Library\src\stm32f10x_sdio.c(748): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_GET_IT(SDIO_IT)); ..\Library\src\stm32f10x_sdio.c(782): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SDIO_CLEAR_IT(SDIO_IT)); ..\Library\src\stm32f10x_sdio.c: 20 warnings, 0 errors compiling stm32f10x_spi.c... ..\Library\src\stm32f10x_spi.c(122): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(163): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(227): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_23_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(430): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(454): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_23_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(524): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(550): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(566): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(584): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(608): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(634): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(650): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(666): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(693): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(717): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(735): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(770): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(807): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(835): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c(887): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SPI_ALL_PERIPH(SPIx)); ..\Library\src\stm32f10x_spi.c: 21 warnings, 0 errors compiling stm32f10x_usart.c... ..\Library\src\stm32f10x_usart.c(133): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(184): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(306): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_123_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(354): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(393): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(451): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(479): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(502): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(521): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(550): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(569): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(595): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(612): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(628): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(644): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_123_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(664): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(683): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_123_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(708): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_123_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(734): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(765): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(792): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(821): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(840): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(878): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(926): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(961): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c(1034): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_USART_ALL_PERIPH(USARTx)); ..\Library\src\stm32f10x_usart.c: 27 warnings, 0 errors compiling stm32f10x_tim.c... ..\Library\src\stm32f10x_tim.c(125): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(231): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(284): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(367): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(449): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(528): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(590): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_CHANNEL(TIM_ICInitStruct->TIM_Channel)); ..\Library\src\stm32f10x_tim.c(659): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(715): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(809): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(834): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(875): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(912): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(940): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST4_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(967): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST9_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(992): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1011): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1039): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1080): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1121): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1153): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1179): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1203): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1233): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1272): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST5_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1319): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1343): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1367): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1391): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1412): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1436): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1461): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST4_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST5_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1513): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1538): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1562): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1586): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1610): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1636): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1661): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1686): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1711): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1737): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1761): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1785): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1809): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1832): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1856): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1879): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST1_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1903): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1927): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST1_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1951): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(1979): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2009): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST2_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2051): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2095): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2123): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2147): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2173): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2205): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST7_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2228): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2249): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2267): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2281): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2295): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2309): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2323): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2337): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2356): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2378): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2400): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2422): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2444): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2460): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST8_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2473): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST6_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2499): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_LIST3_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2512): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2525): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2560): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2603): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2637): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c(2679): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_TIM_ALL_PERIPH(TIMx)); ..\Library\src\stm32f10x_tim.c: 83 warnings, 0 errors compiling stm32f10x_wwdg.c... ..\Library\src\stm32f10x_wwdg.c(122): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_WWDG_PRESCALER(WWDG_Prescaler)); ..\Library\src\stm32f10x_wwdg.c(142): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_WWDG_WINDOW_VALUE(WindowValue)); ..\Library\src\stm32f10x_wwdg.c(173): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_WWDG_COUNTER(Counter)); ..\Library\src\stm32f10x_wwdg.c(188): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_WWDG_COUNTER(Counter)); ..\Library\src\stm32f10x_wwdg.c: 4 warnings, 0 errors linking... ..\Output\STM32_Car.axf: Error: L6218E: Undefined symbol assert_param (referred from misc.o). Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 2 information, 0 warning and 1 error messages. "..\Output\STM32_Car.axf" - 1 Error(s), 389 Warning(s). Target not created. Build Time Elapsed: 00:00:03
最新发布
12-02
<think> 我们正在处理一个编译错误:Error: L6218E: Undefined symbol assert_param (referred from misc.o) 同时还有多个文件中的警告:function "assert_param" declared implicitly 根据引用[1]和[2],问题在于`assert_param`这个符号未定义。这个符号通常用于STM32标准外设库中的参数断言(在调试时检查函数参数的有效性)。它通常是一个宏,在`stm32f10x_conf.h`或类似配置文件中定义。 解决方法: 1. 确保在工程中启用了断言检查(USE_FULL_ASSERT)并且定义了`assert_param`宏。 2. 如果没有启用断言,则需要在配置文件中禁用断言,这样就不会引用这个符号。 具体步骤: 步骤1:检查是否定义了USE_FULL_ASSERT 在`stm32f10x_conf.h`文件中,通常会有一个宏定义`USE_FULL_ASSERT`。如果定义了这个宏,那么就需要定义`assert_param`宏;如果没有定义,那么`assert_param`就是一个空宏,不会产生引用。 步骤2:定义assert_param宏 如果启用了USE_FULL_ASSERT,那么我们需要在某个地方定义`assert_param`。通常,这个宏会在`stm32f10x_conf.h`中定义,或者在用户自己定义的地方。 例如,在`stm32f10x_conf.h`中,可以这样定义: ```c #ifdef USE_FULL_ASSERT #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) void assert_failed(uint8_t* file, uint32_t line); #else #define assert_param(expr) ((void)0) #endif ``` 步骤3:实现assert_failed函数 如果启用了USE_FULL_ASSERT,并且按照上面的方式定义了`assert_param`,那么还需要在工程中实现`assert_failed`函数。这个函数通常用于在断言失败时执行某些操作(比如打印错误信息或进入死循环)。 例如,在`main.c`或单独的文件中添加: ```c #ifdef USE_FULL_ASSERT void assert_failed(uint8_t* file, uint32_t line) { // 用户可添加自己的处理代码,比如打印出错的文件和行号 while (1) { } // 死循环,便于调试 } #endif ``` 步骤4:如果不需要断言,可以禁用断言 如果不希望使用断言,可以在`stm32f10x_conf.h`中注释掉`USE_FULL_ASSERT`的定义,或者确保它没有被定义。这样,`assert_param`就会被定义为空,不会调用任何函数。 步骤5:检查头文件包含 确保`stm32f10x_conf.h`被正确包含在`stm32f10x.h`中。通常,在`stm32f10x.h`的末尾会有如下代码: ```c #ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h" #endif ``` 所以,还要确保`USE_STDPERIPH_DRIVER`已经被定义(在编译器的预定义宏中)。 根据引用[2],错误是因为在`misc.c`中引用了`assert_param`,但没有找到定义。因此,我们需要按照上述步骤检查配置。 总结: 1. 检查`stm32f10x_conf.h`中关于`USE_FULL_ASSERT`的设置。 2. 如果需要断言,则定义`assert_param`宏并实现`assert_failed`函数;如果不需要,确保禁用断言(不定义`USE_FULL_ASSERT`)。 3. 确保`USE_STDPERIPH_DRIVER`被定义,以便包含配置文件。 注意:在STM32CubeIDE或者Keil等环境中,可以在项目设置中的预处理器定义中添加`USE_STDPERIPH_DRIVER`。同时,检查是否定义了`STM32F10X_CL`(因为你的芯片是互联型)。 对于警告“function 'assert_param' declared implicitly”,这是因为在函数使用之前没有声明。当我们正确定义了`assert_param`宏后,这个警告也会消失。 因此,请按照以下步骤操作: - 打开`stm32f10x_conf.h`文件。 - 确保有上述关于`assert_param`的宏定义(参考步骤2)。 - 如果启用了`USE_FULL_ASSERT`,在工程中实现`assert_failed`函数(例如在main.c中)。 - 检查工程预定义中是否定义了`USE_STDPERIPH_DRIVER`和`STM32F10X_CL`(因为STM32F105是互联型)。 如果问题仍然存在,请检查编译器的包含路径是否正确,确保`stm32f10x_conf.h`在包含路径中。 另外,引用[3]提到在Linux下可以使用grep命令查找,在Windows下也可以在工程目录中搜索`assert_param`,查看哪些文件定义了它,以及是否被正确包含。 按照上述步骤操作,应该可以解决链接错误和警告。 </think>### 解决STM32编译错误:`Undefined symbol assert_param` 和隐式声明警告 #### 问题分析 错误 `Error: L6218E: Undefined symbol assert_param` 和警告 `function "assert_param" declared implicitly` 的根本原因是: 1. **`assert_param`宏未正确定义**:STM32标准外设库使用该宏进行参数校验 2. **配置宏缺失**:未正确定义设备系列宏(如 `STM32F10X_CL`) 3. **头文件包含问题**:`stm32f10x_conf.h` 未正确配置 #### 解决方案(分步操作) ##### 1. 在 `stm32f10x_conf.h` 中添加宏定义 ```c // 在文件开头添加以下配置 #ifdef USE_FULL_ASSERT #define assert_param(expr) ((expr) ? (void)0 : assert_failed((uint8_t *)__FILE__, __LINE__)) void assert_failed(uint8_t* file, uint32_t line); #else #define assert_param(expr) ((void)0) // 禁用断言 #endif ``` ##### 2. 在 `main.c` 中实现断言失败处理函数 ```c // 在main.c末尾添加 #ifdef USE_FULL_ASSERT void assert_failed(uint8_t* file, uint32_t line) { printf("Assert failed: %s, line %d\n", file, line); while(1); // 死循环便于调试 } #endif ``` ##### 3. 在编译器预定义中添加设备宏 根据芯片型号添加对应宏定义: | 设备类型 | 预定义宏 | |----------------|-----------------| | **互联型设备** | `STM32F10X_CL` | | 大容量设备 | `STM32F10X_HD` | | 中容量设备 | `STM32F10X_MD` | *对于STM32F105RCT6(互联型),必须定义 `STM32F10X_CL`* ###### 在不同IDE中的设置方法: - **Keil MDK**: `Options for Target → C/C++ → Preprocessor Symbols → Define` 添加: ``` USE_STDPERIPH_DRIVER, STM32F10X_CL ``` - **IAR EWARM**: `Project → Options → C/C++ Compiler → Preprocessor → Defined symbols` 添加: ``` USE_STDPERIPH_DRIVER STM32F10X_CL ``` - **STM32CubeIDE**: `Project Properties → C/C++ Build → Settings → MCU GCC Compiler → Preprocessor` 添加: ``` USE_STDPERIPH_DRIVER STM32F10X_CL ``` ##### 4. 检查头文件包含关系 在 `stm32f10x.h` 中确保以下包含关系: ```c #ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h" // 必须包含此文件 #endif ``` #### 验证是否解决 1. 重新编译工程,错误和警告应消失 2. 如果仍出现警告,在调用外设库函数的文件开头添加: ```c #include "stm32f10x_conf.h" ``` #### 备选方案:禁用断言 如果不需要参数检查,可在 `stm32f10x_conf.h` 中添加: ```c #undef USE_FULL_ASSERT // 禁用断言检查 #define assert_param(expr) ((void)0) ``` > **根本原因**:STM32外设库使用 `assert_param` 验证函数参数有效性,当未正确定义该宏时,编译器找不到符号实现,导致链接错误[^1][^2]。互联型设备(如F105)必须定义 `STM32F10X_CL` 宏[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值