Здравствуйте друзья, помогите разобраться, вот у меня codeblock (с winavr) и студия АВР. Так как студия на моем компютере немного долго включается, компилирует тоже ( код из нескольких строк с морганием диодом и пары delay-ев занял секунд 10) и проекты долго включает.... ну тут комп такой, что с ним только не делал, но сейчас не об этом. И вот, значит codeblock. Идентичный код( моргалок со студии), компилированный с код блока ведет себя странно. Ну именно delay. Пара варнингов типо :
Код:
warning: "F_CPU" redefined warning: this is the location of the previous definition warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
Вот и всё что он мне говорит. А вот, собственно, что выходит - заливаю hex в протеус, и там где стоит delay в коде он его игнорирует, и все что стоит за ним. По ошибкам ничего конкретного не нашел. вот код Спойлер
То есть, в данном случае проверка кнопки есть, реакции нету. Если уберу первый _delay_ms(200) - загорится, если нажать кнопку, ... и будет продолжать гореть ни разу не моргнув.
Надо заметить, что студия на этот код не ругается и делает работоспособным, но делает это чертовски мееееееедленно. Может, знает кто в чем дело?
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
WinAvr устарел давно. Установите Atmel AVR Toolchain и укажите к нему пути в настройках компилятора. Включите оптимизацию. уберите #define F_CPU 1000000UL
У CodeBlock F_CPU задается в project / build options -> закладка defines и #define F_CPU в коде лишняя о чем и сообщает компилятор дальше сообщение, что задержка не будет работать как положенно А всякие "чудеса" происходят от разных опций компилятора под студию и кодеблок посмотрите какие настройки стоят в студии и какие в кодеблоке
PS самая низкопотребляемая по памяти компиляция - make all редактор - в винде notepad++, под linux есть Geany
Добавлено after 2 hours 38 minutes 59 seconds: Re: Codeblock и winavr .... и возникшая проблема от сего синтеза Ох, мне походу еще и помощь с установкой Atmel AVR Toolchain. вообще, не нашел там никакой установки... есть- avr8-gnu-toolchain-osx-3.5.4.468-darwin.any.x86_64.tar.gz Если его разархивировать, и указать в "GNU GCC ... for AVR" и toolchain executables-е папку bin, то .... программа, всё равно, не компилируется. И просто исходную папку указывал, тоже ничего. Как, собстно, надо то? Поясните пожалуйста.
Абсолютное ничего, а нет, пордон, это я не туда зашел ( это был просо GNU GCC compiler).... В GNU GCC compiler for AVR по 2 строки почти идентичные C:\WinAVR\avr\include ... \lib C:\WinAVR-20100110\avr\include ... \lib
Последний раз редактировалось Catdawr Вс авг 06, 2017 22:37:10, всего редактировалось 1 раз.
GNU GCC compiler for AVR поставьте по умолчанию пока. Поменяйте эти пути на те, что в студии. Т.е. compiller C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include linker C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\lib
Дак в том то и дело. Что в студии работает а в Кблоке- нет... Ладно попробую его переустановить, еще что нибудь потыкаю, а пока спасибо за потраченое в пустую ваше время)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения