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

 
 
> Функция __delay_cycles(...);, Описание????
Oleg_IT
сообщение Jul 14 2005, 09:35
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 922
Регистрация: 3-06-05
Из: Москва
Пользователь №: 5 709



Использую компилятор IAR. В фирменных исходниках применяют функцию __delay_cycles(...); Но в документации её нет. Только скудное упоминание в каком-то htm файле. Ведёт себя странно, компилятор её то оптимизирует, то оставляет.
Какие обции компилятора (или что ещё) нужно задействовать, что бы она всегда работала?
Какая максимальная задержка на ней возможна?
А может есть ещё какая-нибудь функция задержки на N мс?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
nml
сообщение Jul 14 2005, 11:01
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 13-06-04
Из: Minsk
Пользователь №: 29



Цитата(Oleg_IT @ Jul 14 2005, 12:35)
Использую компилятор IAR. В фирменных исходниках применяют функцию __delay_cycles(...); Но в документации её нет. Только скудное упоминание в каком-то htm файле. Ведёт себя странно, компилятор её то оптимизирует, то оставляет.
*


Да ну что вы... вот из PDFки что идет в комплекте:

__delay_cycles __delay_cycles(unsigned long int);
Makes the compiler generate code that takes the given amount of cycles to perform, that is it inserts a time delay that lasts the specified number of cycles.
Note: The specified value must be a constant integer expression and not an expression that is evaluated at runtime.

на самом деле код будет сгенерирован примитивный - константу в регистр(ы) и вертушка(ки). В случае необходимости добавляются NOPы. Да вы напишите и посмотрите в листинг... Все сразу станет ясно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Oleg_IT   Функция __delay_cycles(...);   Jul 14 2005, 09:35
- - VladislavS   Минимальная задержка один такт. Компилятор просто ...   Jul 14 2005, 12:19
- - BVU   Практически все, кто работает на IAR пользуются эт...   Jul 14 2005, 12:44
|- - Oleg_IT   Код функции я вижу в дисассемблере. Но вопрос в др...   Jul 14 2005, 13:30
- - BVU   Проблема до конца непонятна... Тогда поясните из к...   Jul 14 2005, 13:49
|- - Oleg_IT   Точек задержек в программе несколько, в разных фай...   Jul 15 2005, 05:19
|- - bialix   Цитата(Oleg_IT @ Jul 15 2005, 07:19)Точек зад...   Jul 15 2005, 08:45
- - BVU   Стоят ли у Вас #include <inavr.h> #include ...   Jul 15 2005, 08:24
|- - Oleg_IT   Цитата(BVU @ Jul 15 2005, 12:24)Стоят ли у Ва...   Jul 18 2005, 06:20
- - BVU   Если все же не так критично отнестись к требования...   Jul 18 2005, 12:55
- - subver   Можно переписать функцию задержки с внутренней пер...   Jul 19 2005, 02:44
- - BVU   Согласен. Возможно, что вариант с применением vola...   Jul 19 2005, 05:18
- - jimmi   RE: Функция __delay_cycles(...);   Jul 20 2005, 14:06
- - subver   Цитата//Наверное нужно так переписать Да, конечно...   Jul 21 2005, 03:09


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 14:00
Рейтинг@Mail.ru


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