Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: WINAVR обучение
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
Kirill Trusov
простите, может дублирую тему или еще что . но не нашел по форуму того что искал.

Как правельно программировать на си для авр в winavr .

Читать gcc-lib , полезная вещь, изучать исходники.
но может есть какие мануалы, туториалы . или еще что...
вот к примеру, у меня в этом авр гцц часто бывают проблемы с задержкой, что в библиотеках есть, delay_loop вроде , да? так вечно работает как то странно.

+ Makefile в студии редактировать где ?
aesok
Цитата(Kirill Trusov @ Jan 22 2008, 19:24) *
простите, может дублирую тему или еще что . но не нашел по форуму того что искал.

Как правельно программировать на си для авр в winavr .

Читать gcc-lib , полезная вещь, изучать исходники.

gcc-libc-user-manual - это официальная документация

Цитата
но может есть какие мануалы, туториалы . или еще что....

Вот здесь хорошая подборка статей :AVR Tutorials

Цитата
вот к примеру, у меня в этом авр гцц часто бывают проблемы с задержкой, что в библиотеках есть, delay_loop вроде , да? так вечно работает как то странно. ....

Еще раз прочитать gcc-libc-user-manual!!! Учиться пользоваться поиском. Только сейчас писал все про это:http://electronix.ru/forum/index.php?s=&am...st&p=354029

Цитата
+ Makefile в студии редактировать где ?.


В WinAVR есть утилита MFile. В AvrStudio в опциях проекта.

Анатолий.
Kirill Trusov
т.е опции....

но можно корректировать, или студия при компиляции все равно перепишит мфайл?

( про задержки, я как раз по мануалу и шел (я его даже распечатал smile.gif) и все равно, он дает странные задержки sad.gif )
aesok
Цитата(Kirill Trusov @ Jan 22 2008, 21:02) *
т.е опции....

но можно корректировать, или студия при компиляции все равно перепишит мфайл?


Да перезапишит... если не стоит галочка в пункте 'Use external Makefile'. Если Вы ее уберете и зададите свой то сможете вручную вносит изменения в makefile, но изменения установок в опциях поэкта в него не попадут.

Цитата
( про задержки, я как раз по мануалу и шел (я его даже распечатал smile.gif) и все равно, он дает странные задержки sad.gif )



4. Параметром макросов _delay_us и _delay_ms должна быть константа.

Анатолий.
Kirill Trusov
блин... там ставил одну только....
#define F_CPU 7372800 // 7.37MHz processor

Вопрос по мтаематике

умеет ли компилятор делить ? остаток от деления брать ?
как с числами с плавающей точкой

вопрос по тактам

си не асме. команда на равна такту, как считать точно время, я брал счетчик и его использовал , т.е таймер, его на предделитель и ждал числа, но таймера жалко
aesok
Цитата(Kirill Trusov @ Jan 22 2008, 21:20) *
блин... там ставил одну только....
#define F_CPU 7372800 // 7.37MHz processor


Куда Вы это ставили. Если в С файл то надо:
#define F_CPU 7372800UL

Анатолий.

Цитата(Kirill Trusov @ Jan 22 2008, 21:40) *
Вопрос по мтаематике

умеет ли компилятор делить ? остаток от деления брать ?
как с числами с плавающей точкой

Никакой форум вам не заменит книгу. Ответы на эти вопросы есть в Вашей любимой книжке по языку С. Если будете задавать такие вопросы на форумах, то очень бастро начнете раздражать людей.

Цитата
вопрос по тактам

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


В стандарте языка С время нет ни слова о времени выполнения операторов и вычислении выражений.
Поэтому если вам нужны точные задержки, то только ассемблерный код или таймеры. А что фирма Атмел вам вернет деньги за не используемый таймер?

Анатолий.
Kirill Trusov
ммоя книга дейтелы как программировать на си..
он умеет, но когда я попытался взять остаток от деления то получил мусор какойто в переменной, может надо какую библиотеку подключить , в библиотеке math.h функции, типо косинусов и синусов


UL не ставил sad.gif а это очень серьезная ошибка?
aesok
Цитата(Kirill Trusov @ Jan 22 2008, 22:02) *
ммоя книга дейтелы как программировать на си..
он умеет, но когда я попытался взять остаток от деления то получил мусор какойто в переменной, может надо какую библиотеку подключить , в библиотеке math.h функции, типо косинусов и синусов


деление и взятие остатка это стандартные операторы языка С, и GCC их поддерживает. Давайте ваш код. Для работы с типом float надо подключить библиотеку libm. Ключиком -lm линкера в makefile. Как в AVRStudio не помню.

Цитата
UL не ставил sad.gif а это очень серьезная ошибка?


Принципиальная.

Анатолий.
Kirill Trusov
http://ccrma.stanford.edu/workshops/pid200...rogramming.html

очень краткое описание на си и WINAVR в частности
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.