Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: написание кода в самом обработчике прерывания
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Метценгерштейн
На сколько корректно считается написание каких-либо алгоритмов и вызов ф-й от туда из самого прерывания. Например, если оно по I2C пришло. Дело в том, что проц вел себя вообще неадекватно. I2C вис наглухо. Как только в самом прерывании локальную переменную заменил на глобальную, проблема пропала. Размер стека с 0х200 увеличил до 0х400- проблема та же. Как только локально объявлена переменная- глючит.
Можно же локальные переменные в обработчике создавать? Думаю, да.
Тогда как правильно писать код? Вывешивать флаг там? Потом уже смотреть в вечном цикле на него и если стоит, то обрабатывать?
Или в чем я не прав? Проц STM32
SII
Создавать-то можно, но использовать -- только до завершения обработчика. При следующем входе в него переменная создаётся заново.
ViKo
Задайте статическую локальную переменную. Она вечная.
Ну, конечно же, в прерывании можно делать что угодно. Важно успеть закончить до поступления следующего запроса. rolleyes.gif
Kabdim
Ошибку надо искать где-то в другом месте.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.