Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Errata STM8
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Alt.F4
Здравствуйте.

Смотрю Errata на STM8, но не могу уловить сути описанной проблемы:
Interrupt service routine (ISR) executed with priority of main process
If an interrupt is cleared or masked when the context saving has already started, the corresponding ISR is executed with the priority of the main process.

Что это значит, что нельзя сбрасывать флаг прерывания после входа в прерывания, иначе у него теряется приоритет и другое прерывание может его перебить (но флаг то прерываний снят)?
Спасибо.
Jury093
Цитата(Alt.F4 @ Feb 1 2016, 22:57) *
Что это значит, что нельзя сбрасывать флаг прерывания после входа в прерывания, иначе у него теряется приоритет и другое прерывание может его перебить (но флаг то прерываний снят)?

мимо проходил.. может такой вариант внесет просветления:

Код
Description
If an interrupt is cleared or masked when the context saving has already started, the
corresponding ISR is executed with the priority of the main process. The next interrupt
request can interrupt execution of the service routine
Workaround
At the beginning of the interrupt routine, change the current priority level in the CCR register
by software

зы совершенно не в курсе этой архитектуры.. но смотрел бы change в сторону понижения приоритета
Alt.F4
Jury093, Ваше описание возможно с другого камня, т.к. в еррата STM8L написано, что решения нет.

Вопрос только, что они подразумевают под "interrupt is cleared or masked", это глобальный флаг прерываний, или флаг текущего прерывания.

Если глобальный, то в принципе другие прерывания не сработают, а если текущего прерывания, то получается, что о никаких приоритетах речи не идет, тупо все прерывания будут перебиты другими.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.