Показать сообщение отдельно
Непрочитано 11.09.2013, 12:09  
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,446
Сказал спасибо: 99
Сказали Спасибо 317 раз(а) в 233 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Глюк с UART при засыпании

Сообщение от av0000 Посмотреть сообщение
Как-то "то-на-то" и выходит.
Посчитайте по тактам - сколько в том и другом случае.
Я из-за параноидального стремления WinAVR сохранять в стеке всё подряд, а также из-за выкидывании нужных мне глобальных регистровых переменных либо в память, либо вообще (если без volatile) перешёл на CV.

Код у него предсказуемый и достаточно быстрый.

Сообщение от av0000 Посмотреть сообщение
Не, всё-таки, почему вы меня "отговариваете" использовать SREG?
...
сохранить статус, чтобы потом вернуть прерывания "как было".
есть участок кода, где нужно, чтобы прерывания были запрещены.
тогда в этом участке не будет работать передача данных по UART.

Я бы постарался избежать такого построения программ. В крайнем случае - продублировал бы функцию. Это сохранило бы быстродействие, ненамного увеличив код.
Godzilla82 вне форума