ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
806174 Топик полностью
Nikolay_Po (03.01.2018 11:39, просмотров: 303) ответил IBAH на Понятно... жертвуем эффективностью в угоду безопасности... По второму вопросу я имел в виду: есть ли Пика команда "сравнить с 0", или 0 такая же константа как и все остальные?
На вопрос  
В прерывании таймера модифицируется лонг переменная, в фоновой задаче, при использовании переменной, что правильнее запрещать?
вопрос: эта переменная в фоновой задаче не модифицируется никогда? Если модифицируется, то должна меняться при запрещённых (ещё не разрешённых) прерываниях. Можно запретить или все прерывания сразу, или только прерывание, где изменяется переменная. Логично запретить только прерывание таймера. Бит разрешения/запрета прерывания на флаг прерывания не влияет. По-моему, быстрее проверить на практике, чем спрашивать... А в прерывании, перед выполнением блока обработки прерывания таймера, действительно полезно проверить, а было ли разрешено прерывание таймера? Если прерывание таймера вообще единственное и другие прерывания никогда не будут разрешены, то флаг установки прерывания и бит разрешения прерывания можно вообще не проверять. Но это уже в самом конце, когда всё будет отлажено. На microchip.com\forums народ часто попадал в зависания из-за того, что включали доп. прерывание, а такую проверку, на наличие флага конкретного источника и разрешения прерывания забывали добавить.