[an error occurred while processing this directive]
Оптимизация может так себя проявлять
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено nkam 08 июля 2002 г. 11:47
В ответ на: while(+) отправлено Alecsandro 08 июля 2002 г. 10:45

Если порт не описан как volatile, то первая конструкция просто просится на оптимизацию (как, впрочем и вторая, но тут логика чуть сложнее, поэтому неоптимальный оптимизатор может и не заметить).

Решений три - запретить оптимизацию, вынести опрос в функцию (встроив тело в объявление, тогда хороший компилятор встроит его в место вызова), описать порт как volatile (только тут главное не промахнуться - описать, что именно порт является volatile, а никак не указатель на порт). Наиболее правильный - третий.

Попробуй и доложи по выполнении :)

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru