Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Доступ к переменным из прерываний и нет, возможна ли ошибка?


Доступ к переменным из прерываний и нет, возможна ли ошибка?

Сообщений 1 страница 3 из 3

1

Доброго времени товарищи! Возник вопрос следующего плана: в прерывании возможна изменение значения переменной, на кторрую прописаны условия в главном цикле.

Пример кода главного цикла:

If SK(3) = 1 then

    Блок 1

Else

   Блок 2

end if

А вот если прерывание случится в момент выполнения блок 1? То есть к моменту достижения Else значение переменной уже будет <> 1. Не возможно ли при таком раскладе еще и выполнение блока 2?
Если возможно то я решением вижу только. Проводить эксперимент нет возможно как такая возможно рандомна, зависит от внешних факторов, скажем приём данных по Uart и их обработки на что может уходить неизвестное время. Замечу что у меня сейчас таких условий нет но на будущее я бы хотел знать.

SK(4) = SK(3)

If SK(4) = 1 then

    Блок 1

Else

   Блок 2

end if

Отредактировано Foton-4n (2015-06-08 11:19:00)

0

2

Нет, условие - есть условие/
Если рассматривать работу в растяжке по времени, может быть ситуация, когда выполняется "блок 1", а прерывание отметило событие, по которому должен выполнятся "блок 2". Тут уже надо смотреть на скорость реакции для железа, что критично, а что нет.

0

3

Всё отлично! Если прерывание отметит событие на блок 2 то он начнёт выполняться либо потом после повторения цикла либо его выполнение вообще не требуется.

0


Вы здесь » Программирование ATMEL в BASCOM. » Вопросы - ответы » Доступ к переменным из прерываний и нет, возможна ли ошибка?