Wpis z mikrobloga

Mireczki, wygrzebałem swoje stare podzespoły i chcę napisać prosty program na Atmegę 8. Pobrałem najnowszy Atmel Studio (chcę spróbować coś innego niż eclipse), tworząc nowy projekt wybrałem ten typ procesora.

Problem jest z biblioteką avr/io.h - nie widzi jej. Widzi np. util/delay.h, a foldery util i avr są w tym samym folderze..

Podejrzewam że może chodzić o niezdefiniowaną wersję atmegi, cały plik io.h to switch po definicjach, jednak nie mam pojęcia jak to określić, jeżeli to jest to.

Dodatkowo, jak w Atmel Studio nadjadę kursorem nad util/delay.h to pojawia mi się pełna ścieżka bezwzględna, a w przypadku avr/io.h - nic.

Program bardzo prosty: http://wklej.to/77qhX

Możecie powiedzieć o co chodzi?

#avr #atmega8 #atmel #atmelstudio #atmelstudio6 #elektronika #mikrokontrolery
  • 32
@Visher: Atmel Studio to porazka- taka moja opinia. a przyczyna twoich problemow jest zle skonfigurowana zmienna srodowiskowa. Otworz cmd i wpisz avr-gcc j napisz co zwraca
@Visher: Tak, to znaczy, że jednak zmienne środowiskowe powinny być OK, bo widzi kompilator z dowolnego miejsca, kurde nie wiem, w takim razie dlaczego bibliotek nie chce znaleźć
@Visher: ja jestem linuksiarzem- polecam ten system do takich zastosowań, jest łatwiej.
A na windzie wejdź w Mój Komputer -> właściwości -> zaawansowane i zmienne środowiskowe(dyktuje z pamięci)
Sprawdź czy jest tam ścieżka do katalogu z narzędziami zapewne winavr (tzn. do folderu bin z kompilatorem linkerem itd)
Powinna być też ścieżka do katalogu include, ale nie mam pewności, może ktoś potwierdzi
@QBA__: Więc twierdzisz, że to ide oparte na Visual Studio jest porażką? Nawet nie będę komentował. Poza tym mi avr-gcc z cmd niczego nie łapie a AS działa znakomicie.
AS 6 nie korzysta z winavr... Od 5 lat jakoś...
@Visher: Zainstalowałeś w proponowanych lokalizacjach czy zmieniałeś?
@Analityk: zmieniłem, oszczędzam bo SSD.
@QBA__:
@CCCCC: no właśnie teraz to zauważyłem i miałem pisać że przecież nie ma PORTA ;x

jeszcze patrzę, bo skompilowało się, ale po wgraniu hexa LED się nie świeci..
@QBA__: właśnie to googlowałem, coś tam jednak pamiętam. Nie zostawiłem sobie żadnego snippetu..
swoją drogą, macie jakąś fajną bazę snippetów dla avr?
@CCCCC: niestety jest jeszcze problem z delay'em. Ustawiłem tą zmienną dokładnie jak napisałeś, a delayms dla każdej wartości argumentu daje mruganie z dużymi częstotliwościami (~15-20 Hz):

PORTB |= (1<<PB0);
delayms(1000);
PORTB &= ~(1<<PB0);
delayms(1000);
@Visher: FCPU = 8000000 UL - na pewno masz 6 zer?
Ustawiłeś F
CPU w konfiguracji release i debug? Którą konfiguracją kompilujesz? Może ustawiłeś F_CPU w jednej, a kompilujesz w innej, więc kompilator przyjął domyślną wartość.
Jakie taktowanie ustawione w fusebitach?