Прерывания и измерение частоты

Раздел начинающих пользователей
Правила форума
В песочнице можно спрашивать когда незнаешь где спросить.
В песочнице нелзя посылать в гугл
В песочнице можно задавать любой вопрос, но на него могут и неответить.
Песочница для тех, кто начинает свои вопросы с защиты чайников от пинков.
В песочницу будут перетаскиваться вопросы неполучившие ответа.
Песочница - попытка навести порядок.
На песочницу большие надежды.

Прерывания и измерение частоты

Сообщение neoo56 (neoo56) » 27 авг 2019, 12:15

Добрый день.
Проектирую с помощью программы Flowcode систему впрыска топлива. Используемый алгоритм - "ALPHA-N".
По мере изучения теории добавляются новые модули в проект. Прочитал учебные посты уважаемого mim, сделал подсчет оборотов.
Впрыск работает от прерывания по изменению состояния порта или по INT0. Обороты считаются с использованием прерывания по таймеру.
По отдельности модули программы работают правильно, вместе - нет (сразу сбивается подсчет оборотов).

Прошу помочь в решении проблемы.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: neoo56
Имя: neoo56
(Оренбург)
Новичок
Новичок
Информация о пользователе

Re: Прерывания и измерение частоты

Сообщение Yushik (Андрей) » 28 авг 2019, 19:36

Здравствуйте при беглом осмотре вашей программы уже есть путаница с описанием выше. Вы писали что прерывание у вас настроено на на ножку INTO, в программе стояло Port_B change это совершенно разные типы прерываний и по разному работают почитайте в интернете. Хотелось бы знать вы свою версию лечили путём замены файлов в папке с установленной программой, в ФК-5 авр косяков много но большинство из них излечимы, поищите эти исправления на форуме. Насколько я помню прерывания Port_B change в стандартной конфигурации ФК-5 авр нету, эти прерывания появились из этой posting.php?mode=reply&f=19&t=3949 ветки. И второй момент возможно из-за него могут быть косяки, в одном из обработчиков прерывания у вас стоит управляемая пауза причём в миллисекундном диапазоне. От этой паузы могут возникать коллизии прерываний, типа обработка прерывания не закончилась а поступило другое от таймера например, или это же прерывание поступает заново ещё не закончившись. Обработчики прерываний нужно строить максимально короткими, поднять флаги выполнить пару условий в нём и не более. Остальное нужно выполнять в основном цикле, также старайтесь избегать пауз и в корне основного цикла.
Аватар пользователя
Ник: Yushik
Имя: Андрей
(Симферополь)
Разработчик
Разработчик
Информация о пользователе

Re: Прерывания и измерение частоты

Сообщение neoo56 (neoo56) » 12 сен 2019, 11:59

Здравствуйте.
Спасибо за подсказки.
Исправил проект - теперь вроде бы работает как надо.
Про прерывания по INT0 и Port change почитал, разницу понял. Перешел на Port change.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: neoo56
Имя: neoo56
(Оренбург)
Новичок
Новичок
Информация о пользователе
Вернуться наверх


Вернуться в ПЕСОЧНИЦА

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron