реклама на сайте
подробности

 
 
> Макросы в IAR EWAVR, v5.40.1
ivainc1789
сообщение Feb 8 2010, 06:54
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



В девайсах ATtiny иногда приходится сильно экономить память программ и использовать макросы. Поначалу все получалось и вдруг наступил затык. Три раза проект компилировался нормально, а с четвертого вдруг началась ругань на один из макросов. Причем его строки однотипны, а ругается только с четвертой. Подскажите в чем причина? Использую IAR EWAVR.
Прикрепленное изображение
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ivainc1789
сообщение Feb 8 2010, 20:03
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Цитата
Непонятно, как именно вообще макросы могут сэкономить память программ (или вообще какую-нибудь память). И как ваши конкретные макросы её экономят.
Очень просто. Можно написать макрос как подпрограмму. Например, подпрограмма выбора Vref в ADC на основе всех возможных сочетаний. Это займет значительный кусок кода. Но потом выяснится, что применяется данная программа только один раз для установки Vref = 1v1. Ясное дело, это неэффективно. Если такую задачу решать с помощью макроса, то экономия памяти налицо. Вот почему для многих установок ADC полезно все же писать макросы, но для установки мультиплексора, возможно, подпрограмму (это зависит уже от конкретики задачи)...
Цитата
Дело в том,что независимо от аргумента ваша фича скомпилируется в кучу операторов.
С чего бы это? Какая куча? Скомпилируется только то, что соотв. условию по аргументу...
А посути-то есть что сказать? Если есть желание попробовать, прилагаю код...
Прикрепленные файлы
Прикрепленный файл  macro.rar ( 417 байт ) Кол-во скачиваний: 33
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ivainc1789   Макросы в IAR EWAVR   Feb 8 2010, 06:54
- - Палыч   Цитата(ivainc1789 @ Feb 8 2010, 09:54) По...   Feb 8 2010, 07:05
- - SasaVitebsk   Цитата(ivainc1789 @ Feb 8 2010, 10:54) В ...   Feb 8 2010, 08:19
|- - Dog Pawlowa   Цитата(ivainc1789 @ Feb 8 2010, 23:03) А ...   Feb 8 2010, 20:26
|- - ivainc1789   Цитата(Dog Pawlowa @ Feb 8 2010, 23:26) 1...   Feb 8 2010, 21:21
|- - Dog Pawlowa   Цитата(ivainc1789 @ Feb 9 2010, 01:21) То...   Feb 9 2010, 09:33
- - _Pasha   Пример, заменяющий первую половину использованной ...   Feb 8 2010, 21:21
|- - ivainc1789   Цитата(_Pasha @ Feb 9 2010, 00:21) Пример...   Feb 8 2010, 21:44
|- - _Pasha   Цитата(ivainc1789 @ Feb 9 2010, 00:44) Но...   Feb 8 2010, 22:14
||- - ivainc1789   Цитата(_Pasha @ Feb 9 2010, 01:14) Потому...   Feb 9 2010, 15:23
||- - AHTOXA   Цитата(ivainc1789 @ Feb 9 2010, 20:23) Из...   Feb 9 2010, 15:38
|||- - ivainc1789   Цитата(AHTOXA @ Feb 9 2010, 18:38) Уберит...   Feb 9 2010, 16:32
||- - Dog Pawlowa   Цитата(ivainc1789 @ Feb 9 2010, 19:23) вы...   Feb 9 2010, 20:54
|- - SasaVitebsk   Цитата(ivainc1789 @ Feb 9 2010, 01:44) То...   Feb 9 2010, 01:54
- - SasaVitebsk   +1. Не считаю себя профессионалом в данном вопросе...   Feb 9 2010, 10:27
- - rezident   На последнем скриншоте из сообщения #13 в макросах...   Feb 9 2010, 17:26
- - ivainc1789   Цитата(rezident @ Feb 9 2010, 20:26) На п...   Feb 9 2010, 19:09
- - rezident   Цитата(ivainc1789 @ Feb 10 2010, 00:09) И...   Feb 9 2010, 20:50


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 22:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016