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

 
 
> AVR Studio эмуляция прерываний, После отработки подпрограммы перескакивает в конец цикла
RAmsi
сообщение Apr 25 2009, 15:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 5-04-09
Пользователь №: 47 200



В теле блока main алгоритм внутри цикла while (1) {...};
За время счета алгоритма несколько раз срабатывает прерывание по таймеру.
При эмуляции после первого прерывания курсор не возвращается на прежнее место в алгоритме, а перескакивает на последнюю строчку в цикле while (1). Повторного прогона цикла не происходит, а далее работают только прерывания.
Как заставить программу продолжаться с того места, где произошло прерывание и заставить её крутиться в цикле while (1) ?
Перешел на AVR Studio и WinAVR и подобного рода проблемы на уже отлаженных алгоритмах вылезают на ровном месте одна за другой crying.gif

Сообщение отредактировал RAmsi - Apr 25 2009, 15:37
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SasaVitebsk
сообщение Apr 28 2009, 08:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Видите ли. Отмечу несколько моментов.

1) Как ни старайся - результирующий код после разных компиляторов будет разный. Соответственно и скорость выполнения.
Это зависит от выставленного уровня оптимизации, к примеру. Также от качества компилятора.
По отзывам, WinGCC, как минимум не хуже чем CVAVR.
В то же время, если хорошо знать особенности компилятора, то можно так "подправить" прогу на Си, что результирующий код будет намного лучше. При этом, как правило, код скомпилированный другим компилятором будет хуже.

Таким образом, не зная предысторию проекта, а также не видя его, не зная настроек, трудно оценить возможности по оптимизации.

2) сходя из вашего описания могу смело утверждать что у вас ошибка в самом алгоритме. Необходим приличный запас по производительности процессора, либо проект должен быть переработан таким образом, чтобы "не успевание" обработки не приводило к краху системы. Хотя так как вы делаете - вполне возможный и реальный подход. Сам иногда так поступаю. Только запас должен быть.

На вскидку можно предложить следующее.
Прерывание измеряет само по себе. Усреднение и фильтрация - сама по себе. Вывод сам по себе. То есть цикл измерения будет больше чем цикл вывода.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- RAmsi   AVR Studio эмуляция прерываний   Apr 25 2009, 15:35
- - smac   Цитата(RAmsi @ Apr 25 2009, 19:35) В теле...   Apr 25 2009, 17:27
- - RAmsi   Прогнал эмуляцию до упора. Проблема оказалась не в...   Apr 26 2009, 16:47
- - RAmsi   Уровень оптимизации выставлял разный. Разницы почт...   Apr 28 2009, 12:12
- - SasaVitebsk   Я работаю вообще в IARе. Речь не идёт об ошибках....   Apr 28 2009, 12:48
- - GDI   Выполните код пошагово и посмотрите где у вас набе...   Apr 28 2009, 12:51
- - Верталь   RAmsi Как понять Ваше высказывание: Ошибки в коде...   Apr 28 2009, 15:20
- - SasaVitebsk   А массивы xlp,ylp объявлены как int или как float?...   Apr 28 2009, 17:16
- - aesok   Цитата(RAmsi @ Apr 25 2009, 19:35) В теле...   Apr 29 2009, 07:32
- - RAmsi   Листинги программ естественно разные с учетом стан...   Apr 30 2009, 11:37
|- - _Pasha   Цитата(RAmsi @ Apr 30 2009, 14:37) Куски ...   Apr 30 2009, 13:48
|- - Dog Pawlowa   Цитата(RAmsi @ Apr 30 2009, 14:37) xlp1[0...   Apr 30 2009, 13:56
- - RAmsi   Прошу прощения. Массивы не double, а float.   Apr 30 2009, 13:36
- - RAmsi   Смеяться пока могу над тем, что я еще не такой опы...   Apr 30 2009, 14:59
|- - aesok   Комндную строку линкера покажите, или Makefile. А...   Apr 30 2009, 15:15
- - RAmsi   Спасибо   Apr 30 2009, 15:31
- - SysRq   Ммм.. Эта строчка ничего не делает: Цитата(RAmsi ...   Apr 30 2009, 18:32
- - RAmsi   Строчки PORTC можно совсем выкинуть. Не в них дело...   Apr 30 2009, 19:26
- - SysRq   Из интереса поковырял. Проверьте, что подключена l...   May 1 2009, 14:20
|- - aesok   Цитата(SysRq @ May 1 2009, 18:20) Правиль...   May 1 2009, 15:38
- - RAmsi   Спасибо всем, кто откликнулся! Библиотеку подк...   May 2 2009, 12:51


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:11
Рейтинг@Mail.ru


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