Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Време за изпълнение на код?
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=4810
Страница 1 от 1

Автор:  mk912 [ Вто Сеп 18, 2007 10:07 am ]
Заглавие:  Време за изпълнение на код?

Как мога да разбера за колко време ще се изпълни от процесора (пик) определен код при зададена f на генератора

Автор:  Cekins [ Вто Сеп 18, 2007 11:40 am ]
Заглавие: 

С хронометър :twisted:

Автор:  GTN [ Вто Сеп 18, 2007 11:44 am ]
Заглавие: 

Ако работиш с MPLAB - лесно. Пускаш си StopWatch от меню Debugger. След това си пускаш кода да ти се изпълнява, а може и стъпка по стъпка да го изпълняваш. И това е :)

Автор:  woody [ Вто Сеп 18, 2007 1:05 pm ]
Заглавие:  Re: Време за изпълнение на код?

mk912 написа:
Как мога да разбера за колко време ще се изпълни от процесора (пик) определен код при зададена f на генератора


1) броиш инструкции/тактове, за ПИК(льо) е елементарно
2) зацикляш желания фрагмент, инвертираш GPIO в началото, мериш с осцилоскоп/честотомер, умножаваш x2
3) проверяваш дали симулаторът няма функция да ти брои тактове. Ако да - доверяваш му се

Автор:  Реконструктор [ Вто Сеп 18, 2007 3:59 pm ]
Заглавие:  Re: Време за изпълнение на код?

mk912 написа:
Как мога да разбера за колко време ще се изпълни от процесора (пик) определен код при зададена f на генератора


Трябва ти таймер. Инициализираш, изпълняваш, после гледаш до къде е стигнал таймера.

Автор:  mk912 [ Вто Сеп 18, 2007 9:55 pm ]
Заглавие: 

Относно хронометъра - сигурен съм че ако и аз бях "напреднал" щеше да ми е смешно но ако беше останал само този пост просто обезмисля форума. На GTN сърдечно благодаря за съвета (свърши идеална работа). Най ми допадна идеята за таймера - решение необвързано с платформа (хардуерна или софтуерна) а към това се стремя винаги като се налага да пиша нещо като програма. За съжаление нямам време да разучавам как работи таймера за проекта си - решавам конкретна задача. Благодаря на всички за помощта.

Автор:  plameniv [ Сря Сеп 19, 2007 1:14 am ]
Заглавие:  Мне

mk912 написа:
Относно хронометъра - сигурен съм че ако и аз бях "напреднал" щеше да ми е смешно но ако беше останал само този пост просто обезмисля форума. На GTN сърдечно благодаря за съвета (свърши идеална работа). Най ми допадна идеята за таймера - решение необвързано с платформа (хардуерна или софтуерна) а към това се стремя винаги като се налага да пиша нещо като програма. За съжаление нямам време да разучавам как работи таймера за проекта си - решавам конкретна задача. Благодаря на всички за помощта.

Винаги ще имаш отклонения в сметките , дори и МПЛАБ може да те поизлъже, може генератора да е снякаква не точна честота ако е вътрешен и т.н.
За това най добре с осцилоскопа , слагаш в началото една инструкция да ти бута един изход на някой порт например BSF PORTA, 4 и в края на програмата BCF PORTA, 4 , мериш с осцилоскопа времето на положителния импулс и това ти е времето на програмата , каквито и врътки да има само по този начин е най точно меренето, ако имаш честотомер най лесно е да мериш честота обръщаш с елката и готово :)

Автор:  Реконструктор [ Сря Сеп 19, 2007 9:26 am ]
Заглавие: 

mk912 написа:
Най ми допадна идеята за таймера - решение необвързано с платформа (хардуерна или софтуерна) а към това се стремя винаги като се налага да пиша нещо като програма


Платформено независимо само ако имаш няква ОС под тебе, иначе таймерите са едни от най- платформено зависимите неща.

Автор:  mk912 [ Чет Сеп 20, 2007 2:56 pm ]
Заглавие:  Re: Мне

plameniv написа:
mk912 написа:
Относно хронометъра - сигурен съм че ако и аз бях "напреднал" щеше да ми е смешно но ако беше останал само този пост просто обезмисля форума. На GTN сърдечно благодаря за съвета (свърши идеална работа). Най ми допадна идеята за таймера - решение необвързано с платформа (хардуерна или софтуерна) а към това се стремя винаги като се налага да пиша нещо като програма. За съжаление нямам време да разучавам как работи таймера за проекта си - решавам конкретна задача. Благодаря на всички за помощта.

Винаги ще имаш отклонения в сметките , дори и МПЛАБ може да те поизлъже, може генератора да е снякаква не точна честота ако е вътрешен и т.н.
За това най добре с осцилоскопа , слагаш в началото една инструкция да ти бута един изход на някой порт например BSF PORTA, 4 и в края на програмата BCF PORTA, 4 , мериш с осцилоскопа времето на положителния импулс и това ти е времето на програмата , каквито и врътки да има само по този начин е най точно меренето, ако имаш честотомер най лесно е да мериш честота обръщаш с елката и готово :)


След като изпълня схемата (чакам за доставка на памети 21 дена - това не може да е на Земята!) ще донастроя времената по този начин, но ми се струва че и МПЛАБ- а ще свърши работа при точност от порядъка на 0,1-0,2 мили сек.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/