logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[attiny2313][C] Obsługa LCD i DS18b20

robert-gd 11 Cze 2011 12:22 2407 4
REKLAMA
  • #1 9599532
    robert-gd
    Poziom 11  
    Witam serdecznie, ostatnio przesiadłem się z poczciwego Bascoma na C jako bardziej optymalny język no i pojawił się problem z WinAvr i zmieszczeniem obsługi LCD na hd44780 i czujnika na 1-wire DS18b20, za nic w świecie nie mogę tego upchnąć do Procka... a w Bascomie to samo robiący kod, czyli odczyt temperatury i wyświetlenie jej na ekranie mieści się bez problemu.

    Może ktoś posiada coś optymalnego co by się zmieściło do Attiny2313 ?
  • REKLAMA
  • #2 9599600
    dondu
    Moderator na urlopie...
    Pracujesz w Windows?
    Jeżeli tak zainstaluj jeszcze AVR Studio i nie męcz się w WinAVR więcej :)
    I pracuj na optymalizacji kodu (opcje projektu w AVR Studio): -0s

    Poza tym, wróżkami nie jesteśmy - i bez pokazania programu samą "mocą" nie damy rady Ci pomóc.
  • REKLAMA
  • #3 9600071
    robert-gd
    Poziom 11  
    No to w załączniku umieszczam jakiś tam gotowy projekt z AVR studio 5. Jakiś przykład znaleziony w internecie, no i plik wynikowy ma przeszło 8kb :/ A to nie robi nic poza odczytem temperatury i wyświetleniem na wyświetlaczu...
  • REKLAMA
  • #4 9600077
    dondu
    Moderator na urlopie...
    Zainstalowałeś Studio?

    Po skompilowaniu:
    Cytat:
    AVR Memory Usage
    ----------------
    Device: attiny2313

    Program: 3132 bytes (152.9% Full)
    (.text + .data + .bootloader)

    Data: 41 bytes (32.0% Full)
    (.data + .bss + .noinit)

    Build succeeded with 2 Warnings...


    Nadal się nie mieści, ale nie jest to 8k jak piszesz.
    Więc albo zmiana na ATtiny4313 albo szukaj inne mniejsze biblioteki.
  • #5 9600197
    Lukasz.Kaplonski
    Poziom 10  
    Nie wiem jak do końca w przedstawionym przez ciebie projekcie ale generalnie dużo zależy od tego jakich bibliotek używasz. Z tego co pamiętam do wyświetlania informacji na LCD można użyć np funkcji printf itp. Ale problem był tego typu że użycie tej funkcji chociaż powodowało wygenerowanie poprawnego kodu to na starcie zdzierało 2k pamięci.

    Do czego dążę , zobacz w jaki sposób są zabierane zasoby. Zakomentuj część odpowiedzialną za wyświetlanie i zobacz ile miejsca ci się pojawiło i analogicznie zrób z obsługą pozostałych podzespołów.

    Możesz sprawdzić sobie tą bibliotekę do obsługi LCD http://radzio.dxp.pl/hd44780/ . Przy jej użyciu program który obsługiwał : moduł radiowy + klawiaturę + LCD zajmował łącznie na ATMEGA88 1,8kB.
REKLAMA