Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 18 lip 2025, o 10:48


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 14 paź 2012, o 14:16 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 18 sie 2012
    Posty: 198
    Lokalizacja: /dev/null
    Pomógł: 2

    Witam
    mam problem z przykładem programu z dvd dot lcd
    błąd polega na wyswietlaniu bledów tego typu
    Kod:
    15:07:03 **** Incremental Build of configuration Release for project 04_LCD ****
    make all
    Building file: ../main.c
    Invoking: AVR Compiler
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
    ../main.c:22:9: error: variable 'znak_termo' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
    ../main.c: In function 'main':
    ../main.c:33:2: warning: passing argument 1 of 'lcd_str_P' discards 'const' qualifier from pointer target type [enabled by default]
    ../LCD/lcd44780.h:172:6: note: expected 'char *' but argument is of type 'const char *'
    ../main.c:35:2: warning: passing argument 1 of 'lcd_str_P' discards 'const' qualifier from pointer target type [enabled by default]
    ../LCD/lcd44780.h:172:6: note: expected 'char *' but argument is of type 'const char *'
    ../main.c:44:22: error: 'znak_buzka' undeclared (first use in this function)
    ../main.c:44:22: note: each undeclared identifier is reported only once for each function it appears in
    make: *** [main.o] Error 1

    15:07:09 Build Finished (took 5s.390ms)

    na każdej wersji eclipse i avr gcc i avrdude
    plik main.c
    Kod:
    /*
     * main.c
     *
     *  Created on: 2010-03-31
     *       Autor: Mirosław Kardaś
     */
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    #include <avr/eeprom.h>

    #include "LCD/lcd44780.h"

    // poniższą linijkę czasami trzeba wpisać w eclipse przed definicjami
    // zmiennych w pamięci EEPROM, żeby nie podkreślał składni jako błędnej
    #define EEMEM __attribute__((section(".eeprom")))

    const char PROGMEM tab1[] = {"FLASH"};
    char EEMEM tab2[] = {"EEPROM"};

    uint8_t znak_L[] = {16,16,18,20,24,16,31,0};      // wzór znaku litery Ł w pamięci RAM
    uint8_t znak_o[] EEMEM = {4,32,14,17,17,17,14,0};   // wzór znaku litery ó w pamięci EEPROM uint8_t znak_buzka[] PROGMEM = {14,17,27,17,17,21,17,14};   // wzór znaku buźki w pamięci FLASH
    uint8_t znak_termo[] PROGMEM = {4,10,10,10,17,31,31,14};   // wzór znaku termometru w pamięci FLASH

    volatile uint8_t pwm1, pwm2, pwm3;

    int main(void)
    {
       DDRD |= (1<<PD0);
       PORTD |= (1<<PD0);

       lcd_init();

       lcd_str_P(tab1);            // napis z pamięci FLASH
       lcd_locate(0,10);
       lcd_str_P( PSTR("Linia1") );   // napis z pamięci FLASH
       lcd_locate(1,0);
       lcd_str_E(tab2);            // napis z pamięci EEPROM
       lcd_locate(1,10);
       lcd_str("Linia2");            // napis z pamięci RAM

       // załadowanie znaków do pamięci CGRAM
       lcd_defchar(0x80, znak_L);
       lcd_defchar_E(0x81, znak_o);
       lcd_defchar_P(0x82, znak_buzka);
       lcd_defchar_P(0x83, znak_termo);


       // wyświetlenie własnych znaków na LCD
       lcd_locate(0,7);
       lcd_str("\x80\x81");
       lcd_locate(1,8);
       lcd_str("\x82");
       lcd_locate(1,7);
       lcd_str("\x83");

       while(1);
    }


    Dodam ze jeszcze nie jestem w książce nad tym , ale user chata zaproponował ten program do testu lcd , który chciałem przetestować ale nieda skompilować sie ;(.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 paź 2012, o 14:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 paź 2011
    Posty: 307
    Lokalizacja: Lbt
    Pomógł: 8

    Skompiluj najpierw takie coś, a nie porywasz się od razu na sprawdzenie wsyztskich funkcji.
    Pobrałeś aktualizacje pliku lcd44780.c?
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    W liniach w których wyrzuci Ci błędy o __attribute__((progmem)) pododawaj const.
    Po kompilacji
    Kod:
    Device: atmega8

    Program:     840 bytes (10.3% Full)
    (.text + .data + .bootloader)

    Data:         10 bytes (1.0% Full)
    (.data + .bss + .noinit)


    Finished building: sizedummy


    Autor postu otrzymał pochwałę

    _________________
    Ujemna delta to dopiero początek zabawy...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 paź 2012, o 14:28 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 18 sie 2012
    Posty: 198
    Lokalizacja: /dev/null
    Pomógł: 2

    Erata pobrana do lcd .

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 paź 2012, o 14:30 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 maja 2012
    Posty: 233
    Lokalizacja: Gdynia
    Pomógł: 15

    Kod:
    ../main.c:44:22: error: 'znak_buzka' undeclared (first use in this function)


    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Powinno być:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 paź 2012, o 00:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 18 sie 2012
    Posty: 198
    Lokalizacja: /dev/null
    Pomógł: 2

    Dziękuje za pomoc w eliminacji błędów:))
    po wymianie zasilacza dodatkowo programy zaczęły wyświetlać na lcd .

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO