Skocz do zawartości

[ATMEGA328] - Nieprawidłowe linkowanie bibliotek vprintf, m i printf_flt


adamk1990

Pomocna odpowiedź

Jako że to mój pierwszy post to przede wszystkim witam wszystkich forumowiczów:)

Mam problem (chyba) z linkowaniem wymienionych bibliotek. Używam atmel studio 6 na windowsie xp. O ile w general jest checkbox "use vprintf library (-Wl,-u,vprintf)" to resztę wpisałem w AVR/GNU Linker ->Libraries, tzn m i printf_flt. Wszystkie komendy linkera wyglądają więc tak: -Wl,-Map="$OutputFileName).map" -Wl,-u,vfprintf -Wl,--startgroup -Wl,-lm -Wl,--end group -mmcu=atmega328a.

Program który piszę na wyświetlać wartości zmiennych typu float na ekranie wyświetlacza LCD. Znaki są wyświetlane, lecz są one bez sensu. Wygląda to np tak:

Do obsługi wyświeltacza używam biblioteki hd44780.h ze strony kamami: http://www.kamami.pl/index.php?productID=46782

Wyświetlacz w moim układzie również od kamami: http://www.kamami.pl/index.php?ukey=search

Wyświetlam stringi tak jak tu:

 LCD_WriteText("napis do wyświetlenia");

Lub wartości zmiennych typu float, konwertując je uprzednio na tablicę char[8] przy pomocy "sprintf"

Z programem jest wszystko w porządku, bo wgrywając z innego komputera działa tak jak powinno. Różnica jest taka, że tam programowałem używając wiersza poleceń i zewnętrznego makefile'a. W AS6 próbowałem też opcji 'use external makefile' ale nic to nie zmieniło (zresztą wolałbym kompilować narzędziami środowiskowymi). Nie jest to też problem programatora, bo inne układy mogę nim programować. Jakieś pomysły o co może chodzić? Z góry dziękuję🙂

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.