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

 
 
> Время выполнения операции?
qulik
сообщение Jul 26 2009, 13:54
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424



Доброго времени суток! rolleyes.gif

Подскажите, плиз, как можно оценить время выполнения той или иной операции. В частности операции if (без входа внуть скобок). cranky.gif

Код
while(1)
{
    if (PINB & 0x01);
    else
    {
        ...
     }

    if(...);
    else
    {
        ...
    }


}
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
qulik
сообщение Jul 31 2009, 12:47
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424



Эм. Ссори за повтор вопроса! smile.gif Ненашел свой топик, решил повторно создать темку и получил бан! smile3009.gif

Тем не менее всем спасибо за подсказки!! biggrin.gif
Насколько я понял в AVRStudio это можно сделать кликнув по View/Disassembler... и посчитав строчки.

Сообщение отредактировал qulik - Jul 31 2009, 12:47
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 1 2009, 08:58
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(qulik @ Jul 31 2009, 15:47) *
Насколько я понял в AVRStudio это можно сделать кликнув по View/Disassembler... и посчитав строчки.
Нет. Потому что разные строчки (на самом деле это называется "инструкции процессора" или "ассемблерные команды") исполняются разное количество тактов. Какая сколько - описано в документе AVR Instruction Set. Проще всего, как советовал ARV, пройти интересующий кусок в отладчике, наблюдая за счетчиком циклов.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 1 2009, 18:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Я всегда советую осциллограф, поставив команды ногодрыганья в начале и конце участка.
Что толку считать команды, циклы и проч, если в системе могут прерывания, ПДП, а время доступа к внешней шине непредсказуемое, поскольку инициализация контроллера внешней памяти "чистодраная" из интернета.
Не упущу и этот случай smile.gif


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
qulik
сообщение Aug 3 2009, 11:53
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 2-04-08
Из: Санкт-Петербург
Пользователь №: 36 424



Цитата(Dog Pawlowa @ Aug 1 2009, 22:43) *
Я всегда советую осциллограф, поставив команды ногодрыганья в начале и конце участка.
Что толку считать команды, циклы и проч, если в системе могут прерывания, ПДП, а время доступа к внешней шине непредсказуемое, поскольку инициализация контроллера внешней памяти "чистодраная" из интернета.
Не упущу и этот случай smile.gif


Осцилограф - эт хорошо! smile.gif Но не всегда он под рукой. А вот метод "ногодрыганья" и светодиоды в домашних условиях помогают, да бы поймать тот или иной момент! smile.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:49
Рейтинг@Mail.ru


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