На вопрос В прерывании таймера модифицируется лонг переменная, в фоновой задаче, при использовании переменной, что правильнее запрещать?
вопрос: эта переменная в фоновой задаче не модифицируется никогда?
Если модифицируется, то должна меняться при запрещённых (ещё не разрешённых) прерываниях. Можно запретить или все прерывания сразу, или только прерывание, где изменяется переменная. Логично запретить только прерывание таймера. Бит разрешения/запрета прерывания на флаг прерывания не влияет. По-моему, быстрее проверить на практике, чем спрашивать...
А в прерывании, перед выполнением блока обработки прерывания таймера, действительно полезно проверить, а было ли разрешено прерывание таймера? Если прерывание таймера вообще единственное и другие прерывания никогда не будут разрешены, то флаг установки прерывания и бит разрешения прерывания можно вообще не проверять. Но это уже в самом конце, когда всё будет отлажено. На microchip.com\forums народ часто попадал в зависания из-за того, что включали доп. прерывание, а такую проверку, на наличие флага конкретного источника и разрешения прерывания забывали добавить.