AVR studio 5 - jak k přidat další soubory typu *.c a *.h?

Zdravim vas.
Mam takovy dotaz ohledne zkusenosti s avr studiem 5.
Zatim jsem tam nenasel zadny zpusob, jak k existujicimu projektu pridat dalsi soubory typu *.c a *.h.
V avr studiu 4 jsem zvykly pridavat tyto soubory do source files a header files, ale v pate verzi jsem nic takoveho neobjevil.

predem dekuji za odpovedi.

:arrow_right: administrator: přejmenováno z "AVR studio 5"

Ja jsem poslechl zkusenejsi programatory nez jsem ja a AVR Studio 5 jsem nainstaloval, minutu zkousel, odinstaloval a presel na AVR Studio 4.19. Nemaji to dotazene do konce.
Posledni dobou me docela stve ten AVR toolchain tak mozna prejdu zase z5 na WINAVR az se dokopu k tomu jak to nastavit v konfiguraci…

Tez jsem zkousel, a zpatky nainstaloval AVR Studio 4.19.
Jen me to zajimalo, jestli sem neco prehledl, nebo ne.
Navic mi AVR Studio 5 hazelo chybu ve funkci delay, nejake zavorkovani se mu tam nelibilo, pricemz sem to kontroloval a zadna a zavorka tam nebyla navic, ani nikde nechybela. Tak zkusim, co udela ten sami kod ve verzi 4.19

Mozna chyba s delay je ta, ze pokud ten toolchain nenadefinujes jinak, tak delay podporuje jenom konstanty, ne promenne.
Takze _delay_ms(100) funguje,
ale

unsigned int i=100;
_delay_ms(i);

uz ne…

Tak problem bude nejspise v pouzitem toolchianu, i kdyz jej nijak nenastavuji, jak pises, coby promenna, ale nechavam tam vzdy konstanty.
Ted mam takovy zajimavy problem, pri pouziti toolchianu 3.3.0.710 mi hazi tu samou chybu i v AVR Studiu 4.19.

A kdyz zkusim spustit AVR Studio bez toolchianu, ale s WinAvr, tak to se mu zas nelibi, a nechce vytvorit.elf soubor.

V pripade pouziti toolchianu vypisuje AVR Studio tyto chyby:

rm -rf Rizeni_systemu.o Rizeni_systemu.elf dep/* Rizeni_systemu.hex Rizeni_systemu.eep Rizeni_systemu.lss Rizeni_systemu.map
c:\Program Files (x86)\Atmel\AVR Tools\AVR Toolchain\bin\rm.exe: cannot lstat `dep/*’: Invalid argument
make: [clean] Error 1 (ignored)
Build succeeded with 0 Warnings…
avr-gcc -mmcu=atmega128 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT Rizeni_systemu.o -MF dep/Rizeni_systemu.o.d -c …/Rizeni_systemu.c
In file included from …/Rizeni_systemu.c:3:0:
c:\program files (x86)\atmel\avr tools\avr toolchain\bin…/lib/gcc/avr/4.5.1/…/…/…/…/avr/include/util/delay.h: In function ‘_delay_ms’:
c:\program files (x86)\atmel\avr tools\avr toolchain\bin…/lib/gcc/avr/4.5.1/…/…/…/…/avr/include/util/delay.h:139:12: error: expected ‘)’ before ‘;’ token
c:\program files (x86)\atmel\avr tools\avr toolchain\bin…/lib/gcc/avr/4.5.1/…/…/…/…/avr/include/util/delay.h: In function ‘_delay_us’:
c:\program files (x86)\atmel\avr tools\avr toolchain\bin…/lib/gcc/avr/4.5.1/…/…/…/…/avr/include/util/delay.h:216:12: error: expected ‘)’ before ‘;’ token
make: *** [Rizeni_systemu.o] Error 1
Build failed with 2 errors and 0 warnings…

Jen podotykam, ze samotny soubor delay.h jsem nijak neupravoval.
Rizeni_systemu.c (177 Bytes)

Nema nahodou byt u toho #include taky to util/delay.h v hranatych zavorkach?

Tak jsem to util/delay dal do hranatych zavorek, ale vysledek byl opet stejny … :frowning:

Ak dobre pozerám, tak tam je jedna chyba v zápise :

[code]#include <avr/io.h>
#define F_CPU 1000000UL**;** // toto (bodkociarka) tu nesmie byt
#include “util/delay.h”

int main(void)
{

while(1)
{
DDRD=0xFF;
PORTD=0x00;
_delay_ms(1000);
PORTD=0xFF;
};
}[/code]

Aha, parada, uz to jede, a nehazi zadnou chybu.
Takova mala chybka, a jakou paseku dokaze udelat.
Moc dekuji.

V C je běžné, že jeden překlep vygeneruje vagon chyb a co je lepší, nemusejí ty chyby ani odkazovat na řádek, kde vznikla (mohou ukazovat až za ni).

Co se týká závorek/uvozovek u hlavičkových souborů: určují složku, kde se prioritně hledá požadovaný soubor. Závorky znamenají složku překladače, uvozovky složku projektu. Tedy uživatelské soubory by měly být v uvozovkách, ostatní v závorkách.