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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.