реклама на сайте
подробности

 
 
> CAVR выкидывает цикл задержки, что не так?
ikm
сообщение Mar 16 2017, 09:15
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Хочу сделать задержку на старте :
Код
#define START_DELAY            3        // задержка при старте и паузе, с (max 65535)

void start_delay (void)        // Задержка на старте
    {
    volatile int i = START_DELAY;
        while (i) {delay_ms(1000); i--;}
    }  

void main(void)
{...
}

При компиляции CAVR пишет предупреждение:
unused function 'start_delay' was removed by the linker

Да конечно можно просто поставить delay_ms(3000); и забыть, но у меня задача разобраться.


--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aiwa
сообщение Mar 16 2017, 10:27
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682



Цитата(ikm @ Mar 16 2017, 11:41) *
Не понял про "джентельменов"

Если Вы написали функцию без "required"-аттрибута Вы обязались ее использовать, но этого не делаете.

Цитата(ikm @ Mar 16 2017, 11:41) *
А чем это отличается от delay_ms( );

delay_ms - библиотечная?
Тогда у компилятора не может быть никаких претензий.

Go to the top of the page
 
+Quote Post
ikm
сообщение Mar 16 2017, 11:25
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 891
Регистрация: 25-12-06
Из: С-Пб
Пользователь №: 23 894



Цитата(aiwa @ Mar 16 2017, 13:27) *
Если Вы написали функцию без "required"-аттрибута Вы обязались ее использовать, но этого не делаете.

delay_ms - библиотечная?
Тогда у компилятора не может быть никаких претензий.


delay_ms конечно библиотечная, к ней вопросов нет. Она успешно используется в теле цикла main.

Только сейчас сложил ваш ответ и предыдущий и понял. Что я создал функцию strart_delay () и должен был использовать её в теле самого main.
Спасибо за разъяснения.

Тогда вопрос, это обязательное условие для компилятора и я должен при использовании какой либо функции вне main включать её внутрь?




--------------------
ОБХОДЯ РАЗЛОЖЕННЫЕ ГРАБЛИ - ТЫ ТЕРЯЕШЬ ДРАГОЦЕННЫЙ ОПЫТ!!!
Go to the top of the page
 
+Quote Post



Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 02:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01355 секунд с 7
ELECTRONIX ©2004-2016