Мелкий и глупый вопросик по IAR AVR 5.51

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Мелкий и глупый вопросик по IAR AVR 5.51

Сообщение clawham »

пытаюсь перетащить один проект с CVAVR на IAR ввиду желания пересесть на чтото более серьёзное для АВРок ну и ввиду 64-битной арифметики которая мне понадобилась

есть пара вопросов
1) В CVAVR реализована возможность АВРа работать напрямую с битами...например PORTB.1 = 1 - я всегда знаю что эта комманда выполнится за один такт и гарантированно установит в 1 второй младший бит регистра PORTB....а в иаре как? ассемблерные вставки? а как быть с гибкостью?
2) как быть если у меня по программе раскидано много макросов типа

Код: Выделить всё

...
E=1;
...
if(E==1)
...
E=0;
...
if(E==0)
...
то как мне задать в файлике "пинаут" этот макрос..я раньше делал #define E PORTB.1 и все дела...а теперь как?

3) можно ли в ассемблерных вставках юзать макросы? они как-то по-другому выделяются и оно не ругается если макрос там неопределенный - видать так в асм и странслирует...

4) 64 битный дабл это реальный 64-битный дабл? или облегченная версия?
5) а флоат тут тоже можно 64-битный использовать? а как ... просто интересно вдруг я чего не понял...

заранее спасибо за ответы
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Реклама
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Мелкий и глупый вопросик по IAR AVR 5.51

Сообщение clawham »

В вопросе про битмаски разобрался сам...нужно писать PORTC_Bit2 и тогда можно обращяться как с переменной булевой...

но...

прога стянутая из КодВижн АВР один-в-один скомпилировалась тут на 1 килобайт бОльше....а я надеялся уменьшить объёмы ибо переходить на новый камень чтото не очень хоцца...

и вот вопрос.....я конечно понимаю что в коде 100500 ошибок грубейших...но ... я этот код пережевывал вдоль и в поперек на кодвижне чтоб вместилось во флешку...буквально по букве оптимизировал...
потому пробывал разные варианты и какой влезал - тот и оставался..

теперь вопрос...

что значит варнинг

Код: Выделить всё

Warning[w6]: Type conflict for external/entry "printf", in module main against external/entry in module ?printf; prototyped  
и правильно ли я переназначил путчар?

Код: Выделить всё


#define _ALTERNATE_PUTCHAR_


/* now define the new putchar function */
int putchar(int c) {
/* write your code here */
  lcd_putchar(c);
  return 1;
}

Вложения
First.rar
исходник проекта в иаре
(131.42 КБ) 159 скачиваний
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Реклама
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»