AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
30.10.2016, 12:50
|
|
Супер-модератор
Регистрация: 12.04.2007
Адрес: Урал
Сообщений: 2,451
Сказал спасибо: 1,457
Сказали Спасибо 6,147 раз(а) в 1,461 сообщении(ях)
|
AVR Studio + CVAVR: директивы #include
Сразу скажу, что по форуму поискал, но ответ не нашел. Если уже обсуждалось, то ткните носом и я удалю эту тему.
А вопрос вот какой. Написали программу. Получилась большая. С целью повышения удобочитаемости, разбили ее (программу) на несколько файлов .c. Собрали файлы в программу с помощью директив #include. Все хорошо откомпелировалось. Проблема с отладкой в AVR Studio: то, что находится в файлах, подключенных с помощью #include, AVR Studio не видит. Т.е. по этому коду не пошагаешь. Что посоветуете?
__________________
Я вас сканирую
|
|
|
|
30.10.2016, 15:34
|
|
Супер-модератор
Регистрация: 12.04.2007
Адрес: Урал
Сообщений: 2,451
Сказал спасибо: 1,457
Сказали Спасибо 6,147 раз(а) в 1,461 сообщении(ях)
|
Re: AVR Studio + CVAVR: директивы #include
Интересно, а в IARе есть такие проблемы?
__________________
Я вас сканирую
|
|
|
|
30.10.2016, 18:50
|
|
Почётный гражданин KAZUS.RU
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,514
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
|
Re: AVR Studio + CVAVR: директивы #include
С AVR Studio не работал, но в языке Си доступ к описаниям функциям, размещенным в разных файлах, осуществляется исключительно через прототипы этих функций, содержащиеся в заголовочном файле с расширением .h. Вот именно такой файл и нужно подключать через #include.
Кароч, если по-русски, то:
- файл file.c содержит функцию:
void function (void)
{
// тело функции
}
- файл file.h содержит прототип этой функции:
void function (void);
- в файле main.c пишем:
#include file.h
и теперь можем из main.c вызвать функцию
function();
и пошагать по ней.
Хотя наверно можно сделать и #include *.c .. но по-моему, это нифига не правильно. Потому что это просто каша обычная, всё равно что в одном файле писать.
Последний раз редактировалось NewWriter; 30.10.2016 в 18:59.
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 22:47.
|
|