тут тоже согласен, для контроллеров это критично, поэтому даже чтение через volatile указатель удалять не стоит. Однако если volatile помечена локальная переменная, не являющаяся указателем, то её можно удалять. Т.к. хранится локальная переменная в стеке, который постоянно читается и пишется и не может быть использован для "сброса сторожа"