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

 
 
> ? функция delay() без использования таймеров
alm_
сообщение Feb 8 2006, 12:28
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 25
Регистрация: 2-02-06
Пользователь №: 13 904



Необходимо отмерить задержки в миллисекундах с с точностью до 5%. Очевидно, что при использовании С для различных компиляторов может быть различен. Вывод: необходимо использовать inline-функций на Asm. Но вот вопрос одинаковое ли количество тактов выполняются одни и те же команды для различных семейств (Tini,Classic,Mega) ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
defunct
сообщение Feb 8 2006, 20:58
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
(IgorKossak @ Feb 8 2006, 14:41)

Возможны варианты только для очень специфических команд (сейчас не вспомню каких). Но в Вашей задаче они явно не будут использоваться.

Видимо имелись в виду RCALL, CALL, ICALL, EICALL, RET, RETI, а также неявная команда перехода на обработчик прерывания. Время выполения которых зависит от разрядности PC.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 9 2006, 07:26
Сообщение #3


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(defunct @ Feb 8 2006, 22:58) *
Цитата
(IgorKossak @ Feb 8 2006, 14:41)

Возможны варианты только для очень специфических команд (сейчас не вспомню каких). Но в Вашей задаче они явно не будут использоваться.

Видимо имелись в виду RCALL, CALL, ICALL, EICALL, RET, RETI, а также неявная команда перехода на обработчик прерывания. Время выполения которых зависит от разрядности PC.

Ради интереса взял даташиты на mega128 и tiny13.
Очень беглое сравнение наборов инструкций показывает, что для ВСЕХ инструкций (имеющихся у обоих МК) времена исполнения совпадают.
Go to the top of the page
 
+Quote Post
defunct
сообщение Feb 9 2006, 07:48
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(IgorKossak @ Feb 9 2006, 09:26) *
Цитата(defunct @ Feb 8 2006, 22:58) *

Видимо имелись в виду RCALL, CALL, ICALL, EICALL, RET, RETI, а также неявная команда перехода на обработчик прерывания. Время выполения которых зависит от разрядности PC.

Ради интереса взял даташиты на mega128 и tiny13.
Очень беглое сравнение наборов инструкций показывает, что для ВСЕХ инструкций (имеющихся у обоих МК) времена исполнения совпадают.

Не могу сказать оригинального имени документа, поскольку он у меня сохранен под удобным для поиска именем (в оглавлении документа написано "AVR Instruction Set" rev. 0856D-AVR-08/02). В нем можно найти различия во времени выполнения приведенных выше команд, для МК с PC - 16bit и меньше и для MK с PC - 22bit.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Feb 9 2006, 09:31
Сообщение #5


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Цитата(defunct @ Feb 9 2006, 09:48) *
... MK с PC - 22bit.

Я это тоже видел, но к счастью таких нет среди тех, которые фигурировали в вопросе у автора темы.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- alm_   ? функция delay() без использования таймеров   Feb 8 2006, 12:28
- - Rst7   Цитата(alm_ @ Feb 8 2006, 14:28) Необходи...   Feb 8 2006, 12:32
|- - IgorKossak   Цитата(Rst7 @ Feb 8 2006, 14:32) __delay_...   Feb 8 2006, 12:41
||- - Rst7   Цитата(IgorKossak @ Feb 8 2006, 14:41) Rs...   Feb 8 2006, 13:13
|- - Halfback   Цитата(Rst7 @ Feb 8 2006, 15:32) __delay_...   Jan 17 2009, 20:03
|- - cebotor   Цитата(Halfback @ Jan 17 2009, 23:03) а в...   Jan 17 2009, 21:13
||- - Halfback   Цитата(cebotor @ Jan 18 2009, 00:13) если...   Jan 17 2009, 21:20
|- - plombir   Цитата(Halfback @ Jan 17 2009, 23:03) ......   Jan 17 2009, 21:57
- - beer_warrior   Поправочка, далеко не в специфичных, а во всех вет...   Feb 8 2006, 12:47
|- - IgorKossak   Цитата(beer_warrior @ Feb 8 2006, 14:47) ...   Feb 8 2006, 13:00
- - alm_   спасибо за ответ но у меня идет одновременная рабо...   Feb 8 2006, 13:23
- - beer_warrior   Функции на асме, не обязательно инлайн. Расходы на...   Feb 8 2006, 13:47
- - VslavX   Если есть аппаратный декрементируемый/инкрементиру...   Feb 8 2006, 14:26
- - defunct   Цитата(IgorKossak @ Feb 9 2006, 11:31) Я ...   Feb 9 2006, 10:47


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

 


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


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