Skocz do zawartości

AVR util/delay.h problem


Imperatorek

Pomocna odpowiedź

Witam wszystkich.

Programuję amatorsko mikrokontrolery AVR. Niedawno przesiadłem się także na Linuksa (Mint) i postanowiłem skonfigurować sobie Code::Blocks do programowania AVRów.

Na Windowsie nie było z tym żadnego problemu, wszystkie programy poprawnie się kompilowały.

Na Linuksie problem pojawia się, gdy chcę użyć opóźnień czasowych  - _delay_ms i _delay_ns. Kompilator wyrzuca mi następujący błąd:

-------------- Build: Release in 1 (compiler: GNU GCC Compiler for AVR)---------------

avr-gcc -Wall -mmcu=atmega328p -DF_CPU=1000000UL -Os -O -I/usr/include -c main.c -o obj/Release/main.o
In file included from /usr/include/math.h:43:0,
                 from /usr/lib/avr/include/util/delay.h:46,
                 from main.c:5:
/usr/include/bits/floatn.h:75:1: error: unknown machine mode __TC__
 typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
 ^
/usr/include/bits/floatn.h:87:9: error: unknown type name __float128
 typedef __float128 _Float128;

 

Kod jaki próbuję skompilować (chyba najprostszy z możliwych):

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
    DDRD = 0xff;
    // Insert code

    while(1);
    PORTD |= (1<<PD7);
    _delay_ms(1000);
    PORTD &= ~(1<<PD7);
    _delay_ms(1000);

    return 0;
}

Wersja AVR-GCC: 5.4.0

Google nie pomaga.

Czy ktoś spotkał się z podobnym problemem?

Z góry dziękuję za pomoc.

Pozdrawiam

Edytowano przez Imperatorek
Link do komentarza
Share on other sites

14 minut temu, andrews napisał:

Problemem mogą być źle skonfigurowane ścieżki do plików nagłówkowych.

Poczytaj może ten wątek.

Sam nie mogę uwierzyć, że tego dokładnie nie sprawdziłem.
Myślałem, że jeśli przy uruchomieniu Code::Blocks wykrył kompilator avr-gcc to wszystkie ścieżki będą skonfigurowane.

 

Jeszcze raz bardzo dziękuję 🙂

Temat można zamknąć.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.