Хм содержимое var_user.h:
#ifndef __var_user__
#define __var_user__
typedef struct
	/*RTC_Time_TypeDef*/{
		uint16_t 	rtc_mseconds;	
		uint8_t 	rtc_seconds;
		uint8_t 	rtc_minuts;
		uint8_t 	rtc_hours;
	}RTC_Time_TypeDef;
typedef struct 
/*RTC_Date_TypeDef*/{
		uint8_t 	rtc_date;
		uint8_t 	rtc_month;
		uint8_t 	rtc_year;
}RTC_Date_TypeDef;
extern RTC_Time_TypeDef RTC_Time;// это можно и по месту применения вписать, например, в main.c
extern RTC_Date_TypeDef RTC_Date;// это можно и по месту применения вписать, например, в main.c
#endif	 
а это в stm32f4xx_it.c:
#include "var_user.h"
RTC_Time_TypeDef RTC_Time;// это объявление с выделением места
//RTC_Time_TypeDef RTC_Time = {0};//это было бы объявление с выделением места, но с принудительным занулением всех элементов структуры
RTC_Date_TypeDef RTC_Date;// это объявление с выделением места 
а это в main.c:
#include "var_user.h" 
//extern RTC_Time_TypeDef RTC_Time;//при extern задавать значения низзя, даже если хочется
//extern RTC_Date_TypeDef RTC_Date; 
- 
	- Спасибо коллега Balda(199 знак., 20.09.2016 18:47)