//Объединение в памяти структуры, и массива
typedef union
{
struct {
uint32_t Start_Key;
uint8_t Param_1;
uint8_t Param_2;
uint8_t Param_3;
uint8_t Param_4;
}
Config_T;
uint8_t Data [8]; //массив для доступа к структуре
} Config;//тип данных Config
Config Dev_NVRAM; //Определяется переменная для работы со структурой
При попытке доступа к структуре через переменную Dev_NVRAM из файла Main , компилятор выдает ошибку : Неопределенный тип данных, хотя в подключенном заголовке прописано extern Config Dev_NVRAM;
Ковырял много ресурсов в интернете, там высказали предложение переместить структуру в H файл. В этом случае возникает другая ошибка : L6200Е : многочисленное объявление. То-есть я так понимаю компилятор пытается включить H файл с этой структурой многократно, хотя в заголовке H файла прописана такая директива
#ifndef __File_H
#define __File_H
/*code*/
#endif
получается она совсем не работает.
//--------------------------------------------------
Что касается ошибки L6200Е, с ней я очень долго боролся, менял и имена файлов, и шрифт,и ставил такие символы _ (1 и 2)
даже был на сайте Keil, в разделе посвященной директиве #ifndef. Там сказано что для системных файлов, перед именем файла нужно поставить два подчеркивания __ а для пользовательских файлов , оно вообще ненужно,и не слова про шрифт. Но все-равно ничего не работает.
Подскажите пожалуйста как с этим бороться? Спасибо


