Halex07,
Не ругайтесь!
Цитата:
|
Что-то мне это Ваше "новое начинание" напоминает Шарикова
|
Уже радует что хоть Шарикова. По правде говоря это мой первый проект такого объема. Пока все было в одном файле все бало нормально и я даже отсимулировал с горем пополам. Но блин проект здоровый и совая туда сюда полосу прокрутки я забоялся что она отвалится
![Голова кругом](images/smilies/icon_rolleyes.gif)
. Вобшем код большой и стало весьма утомительно перемещатся. Я в своей любимейшей книге не нашел как правильно разносить на файлы. Задал вопрос на форуме мне подсказали я так и сделал.
Цитата:
|
Вообще непонятна конструкция с peremenie_konst.h - это что, специально чтобы запутать себя и других
|
Ну чего тут не понятного без этого хидера компилятор ругается
воттак
Linker error: c:\CAD\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Inverrtor\Simulation\Function \peremenie_konst.c(4): external 'zadanie_I' declared, but never defined
Linker error: c:\CAD\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Inverrtor\Simulation\Function \peremenie_konst.c(5): external 'zadanie_U' declared, but never defined
А с хидером не ругается.
А без extern ругается так
Linker error: c:\CAD\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Inverrtor\Simulation\Function \peremenie_konst.c(1): entry 'zadanie_I' from file: c:\CAD\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Inverrtor\Simulation\Function \peremenie_konst.h, line: 7 is redefined
Linker error: c:\CAD\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Inverrtor\Simulation\Function \peremenie_konst.c(2): entry 'zadanie_U' from file: c:\CAD\Labcenter Electronics\Proteus 7 Professional\SAMPLES\Inverrtor\Simulation\Function \peremenie_konst.h, line: 8 is redefined
А с extern не ругается.
Цитата:
|
Вы почитайте свою "прикроватную"
|
Читал, а на форуме сказали что надо, сделал по книге компилятор выдает ошибки, сделал как подсказали не выдает. Ну что я могу поделать. Если Вы знаете как правильно разнести проект на файлы, подскажите, буду очень признателен. Сам не знаю как правильно
Пользовался этм ресурсом
http://chipenable.ru/index.php/progr...1-lcd-avr.html
Цитата:
|
Глобальные переменные одного модуля будут не видны другому, и наоборот. Чтобы использовать глобальную переменную из другого модуля, перед ней нужно написать ключевое слово extern.
extern unsigned char key;
Этим объявлением мы даем понять компилятору, что используем переменную из другого файла. И в этом случае, кстати, переменной нельзя присваивать значение.
|
Другими словами проект разнесенный на разные файлы в Протеусе вызывает проблемы?
Попробовал для интересу AVR Studio видит переменные и изменяет. Но блин протеус както ближе.