Найдено 9 результатов

polinin
Вт апр 14, 2009 10:53:11
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

warning: call-clobbered register used for global register variable
Кстати, таким простым способом можно легко вычислить регистры, которые используются компилятором, а так же для чего они ему нужны. После чего можно вообще отказаться (для конкретного случая и я об этом тоже говорил) от ...
polinin
Вт апр 14, 2009 10:34:27
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

#include "avr/io.h"
#include "stdio.h"
#include "util/delay.h"

register uint8_t prt_int asm("r20");
volatile char str[20];

int main(void){

for(;;){
sprintf(str,"%u",prt_int++);
_delay_us(10);
PORTB = prt_int;
}
}
для выбора в качестве переменной R2 - все ништяк, если R20 - в str ...
polinin
Вт апр 14, 2009 08:56:18
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

кстати, polinin , не в обиду будь вам сказано: ваш пример после компиляции с включенной оптимизацией вообще ничего не делает с указанными регистрами :) и функция ваша с кучей параметров просто не вызывается и вообще отсутствует в коде :)))

Не обидно. Это идиотская функция. Сделана в угоду Вам. С ...
polinin
Вт апр 14, 2009 08:49:06
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

polinin , ваш пример безусловно верный :) и это не отказ от моих слов и не парадокс :) это закономерность. читайте документацию:
You can define a global register variable in GNU C like this:
register int *foo asm ("a5");
Here a5 is the name of the register which should be used. Choose a register ...
polinin
Пн апр 13, 2009 22:54:42
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

Include мои порезались. :)
Добавить по слэшу и io.h с delay.h надо.
2-я попытка:

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

#include <avr>
#include <util>
polinin
Пн апр 13, 2009 22:35:33
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

Поясняющее отступление. С атмелами знаком ровно три недели. Надо было заткнуть потребность. По совокупности цена-возможности подошла пара ATtiny(24 и 26). Потому как учить их устройство ломает, поставил CVAVR2.04, но версия "эволюшин" отказалась компилить код более ~1750 б. Переписал в WinVR'e - всё ...
polinin
Пн апр 13, 2009 12:05:33
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765


ваша рекомендация приведет к тому, что компилятору придется везеде и всюду освобождать эти "зафиксированные" регистры, чтобы можно было использовать ptr_for_var1


Поясните. Я не понял почему компилятор должен везде и всюду освобождать "мои" регистры? Он их просто не должен трогать пока я этого ...
polinin
Пн апр 13, 2009 11:00:14
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

Прежде всего замечу, что мною сказанное не следует рассматривать как критику. Это просто частное мнение, бытовуха - мало есть таких вещей, которые нравились бы нам всегда и всесторонне - даже жёны которых мы сами какбы и выбираем. :)

polinin , прежде всего, WinAVR - плод коллективного творчества ...
polinin
Пн апр 13, 2009 08:54:56
Форум: AVR
Тема: WinAvr в вопросах и ответах
Ответы: 2199
Просмотры: 1300765

Пишут не уж то правду ?

http://kazus.ru/forum/topics/15004.html

В проекте WinAVR при использовании "itoa" добавляется 180 байт, а в проекте CVAVR - 112, вот эта разница подрубает у меня всякую решительность. Но теперь даже не это важно. Просто принципиально непонятно как заставить этот код ...

Перейти к расширенному поиску