vitalik_1984 писал(а):Видать это какая то секретная разработка, раз все время только кусочек выкладывается, который отношение к некомпилируемому коду имеет посредственное отношение.
все отлично компилируется. Но не работает. Ранее был уже выложен проект который не работает при о=1
Тот участок кода что вы привели отлично компилируется на всех уровнях оптимизации.
a_skr писал(а):
действительно, на оптимизации 0 - протеус ругается по поводу 4-х тактов, на оптимизации 1 - не ругается, но тоже не работает.
мнения разделились
Непонятно как у вас при оптимизации 2 все работает, если компилируется только на уровне оптимизации 1?
if ((PIND&(1<<PIND0)) && (_Reg!=_Vol)) //если кнопка не нажата и если крутим
{
_Vol=_Reg; //записываем новое значение и выводим
PORTA=_Vol;
}
else if((PIND&(1<<PIND0))==0)//нажата копка
{MENU();}
Вопрос в то, что я начал проект в cvavre, но т. к. ограничение в 4кило пришлось думать как перенести в winavr.
Полностью рабочий код не работает в winavr, где можно что изменить. чтоб не нарушать ход мысли.
Проект первый можете что-то подсказать, если есть лучшее решение
Самое лучшее для тебя сейчас решение найти крякнутый CVAVR,в чём проблем нет никаких.
А написание в этих компиляторах отличается примерно как русский от белорусского.
Открою один секрет,только никому.Если что-то ищешь,то что очень необходимо в Интернете,то набираешь ссылку www.google.ru и в поле "поиск" пишешь буковками сабж.А в твоём случае "крякнутый cvavr".
У меня есть куски готового кода на winavr, но не могу алготитм вывести работающий. постоянные проблемы,
недавно с битами разобрался, теперь надо оператор if переделать. Проект под tda7439 написан но не полностью, причины те же.
Так то оно так, только зачем читать из этого регистра?
Может пойти по классической схеме?
типа
ADMUX= (ADMUX &0xF0)|(i);
delay();
adc[i++]=ADCH;
if(i>7) i =0;
Помогите разобраться
Как присвоить значение с ноги одного порта на ногу другого?
В Codevisione все просто PORTC.1=PINB.2;
А как в WINAVre
Я уже голову сломал, гуглин нифига.