Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 02.03.2009, 17:23  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Условная трансляция AVRStudio #define .ifdef

Вопрос такой, нужно отключать кусок кода для уменьшения если что тоне используется...

в MPLAB пишу так:
#define twolinelcd;для жки 2 линии
#define forlinelcd;для жки 4 линии

;дальше в тексте
MOVLW 1
#ifdef twolinelcd ежели определили то компилируется этот кусок кода
MOVLW 2
#endif
#ifdef forlinelcd ежели определили то компилируется этот кусок кода
MOVLW 4
#endif


в AVRStudio пишу так:
#define twolinelcd 2;для жки 2 линии
#define forlinelcd 4;для жки 4 линии


;дальше в тексте
ldi temp,1
.ifdef twolinelcd ежели определили то компилируется этот кусок кода
ldi temp,2
.endif
.ifdef forlinelcd ежели определили то компилируется этот кусок кода
ldi temp,4
.endif


если не определять
#define twolinelcd 2;для жки 2 линии
#define forlinelcd 4;для жки 4 линии
то компилится нормально (без тех строк кода которые междуIFDEF и ENDIF)


если определять
#define twolinelcd 2;для жки 2 линии
#define forlinelcd 4;для жки 4 линии

то ругается на строчки
.ifdef twolinelcd
.ifdef forlinelcd
такими словами
(error: syntax error. unexspected INTEGER exspecting SYMBOL or REGDEF )


вместо
#define twolinelcd 2
#define forlinelcd 4
пробовал определять и так
#define twolinelcd
#define forlinelcd

что не так, или студия так не умеет?
Реклама:
picavr вне форума  
Непрочитано 02.03.2009, 17:25  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Условная трансляция AVRStudio #define .ifdef

Сообщение от picavr
или студия так не умеет?
А в хелпе и в руководстве что то есть про это ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 02.03.2009, 17:46  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Условная трансляция AVRStudio #define .ifdef

Сообщение от avr123-nm-ru
А в хелпе и в руководстве что то есть про это ?
Прмеры синтаксиса взяты из Хелпа.
Может она не умеет их обрабатывать, так как мне нужно.. (а MPLAB так умеет)

пробовал, ругается
#define twolinelcds=2

.ifdef twolinelcds=2

пробовал, компилируется
#define twolinelcds=2

.if twolinelcds==2

но ругается если совсем не определять
;#define twolinelcds=2 закоментировать
;#define forlinelcds=4 закоментировать
.if twolinelcds==2

а нужно так..
если не опрределяем ничего - то компилится без доп кусков,

если определяем
#define twolinelcds=2
компилится с одним дополнением

если определяем
#define forlinelcds=4
компилится с другим дополнением

MPLAB умет.
picavr вне форума  
Непрочитано 02.03.2009, 17:58  
Onanimus
Прохожий
 
Регистрация: 12.11.2008
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Onanimus на пути к лучшему
По умолчанию

a esli napisat' dopolnitel'no

.ifndef twolinelcd
#define twolinelcd=1
.endif

to eto budet otrabativat' po umolchaniu.
Onanimus вне форума  
Непрочитано 02.03.2009, 18:08  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию

Сообщение от Onanimus
.ifndef twolinelcd
#define twolinelcd=1
.endif
В который раз убеждаюсь что MICROCHIP делает для пользователя проще и удобнее. А у ATMEL как обычно о пользователях думают в последнюю очередь .
picavr вне форума  
Непрочитано 02.03.2009, 20:43  
kison
Почётный гражданин KAZUS.RU
 
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
kison на пути к лучшему
По умолчанию

Сообщение от picavr
В который раз убеждаюсь что MICROCHIP делает для пользователя проще и удобнее. А у ATMEL как обычно о пользователях думают в последнюю очередь .
Пользователи разные бывают. Не все путают две версии ассемблера. И если уж пишут #define из AVRASM2, то не пишут .ifdef из AVRASM1, а пишут #ifdef.
Собственно все это есть в хелпе.
kison вне форума  
Непрочитано 02.03.2009, 21:39  
xerox2
Вид на жительство
 
Регистрация: 15.03.2005
Сообщений: 351
Сказал спасибо: 17
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
xerox2 на пути к лучшему
По умолчанию

Сообщение от picavr

В который раз убеждаюсь что MICROCHIP делает для пользователя проще и удобнее. А у ATMEL как обычно о пользователях думают в последнюю очередь .
взбесила эта фраза... читайте https://kazus.ru/articles/401.html
xerox2 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVRStudio 4.13 kovkaa Микроконтроллеры, АЦП, память и т.д 15 08.04.2008 18:11
AVRStudio EugVor Proteus, KiCAD и другие ECAD 0 13.12.2006 09:27
AVRstudio 4.11 не симулирует прерывания таймеров tiny2313 graham Микроконтроллеры, АЦП, память и т.д 10 27.12.2005 14:59
Симулируется ли USI в AvrStudio v4.12? graham Микроконтроллеры, АЦП, память и т.д 3 30.11.2005 09:33
AVRSTUDIO ATmega 48 \128\ 88 Tcom Микроконтроллеры, АЦП, память и т.д 1 13.10.2005 16:12


Часовой пояс GMT +4, время: 21:55.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot