Ха!!! Стоит заменить строчку на Test=10 и все 2.28A ее тоже выкидывает!! Ну кто так компилеры делает... У иара всегда с volatile проблемы :(
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Krs
02 апреля 2004 г. 20:51
В ответ на:
Странно у меня IAR такой код генерит. При всех включенных опциях оптимизации. Оптимизация по скорости(+)
отправлено Уэф 02 апреля 2004 г. 20:27
Составить ответ
|||
Конференция
|||
Архив
Ответы
Чтож остается одно средство напишите перед main #pragma optimize=0 все должно заработать.
—
Уэф
(02.04.2004 21:48,
пустое
)
работает нормально и при большей оптимизации при LOW нормально при MEDIUM уже не работает! Но самое простое решение вставить вызов функции в тот участо кода который редко выполняется и все ок!
—
Krs
(02.04.2004 21:51,
пустое
)
Дериктива #pragma действует только на конкретную функцию. Таким образом можно отменить оптимизацию для одной функции и оставить для всех остальных.
—
Уэф
(02.04.2004 22:01,
пустое
)
Но так как проект состоит из одной функции на С - то ... в общем код оптимальнее получается намного если функцию вставить! и в общем чтобы передавать данные через регистры в прерывание надо всегда за листингом смотреть
—
Krs
(02.04.2004 22:32,
пустое
)
Скорей, это у Вас проблемы с volatile :)
—
Bill
(02.04.2004 21:27,
пустое
)
Например у в АРМ компилере у ИАР может переставить присванивание двух volatile местами что недопустимо например при использовании очередей! указатель обнавляется до выборки из очереди!
—
Krs
(02.04.2004 21:49,
пустое
)
??? Честно говоря, для AVR я подобным не сталкивался.
—
Bill
(02.04.2004 23:08,
пустое
)
Не это для АРМ у АВР такого не видел! но с АРМ я почти не разбирался еще
—
Krs
(02.04.2004 23:20,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru