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



Teraz jest 21 gru 2024, o 15:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 8 ] 
Autor Wiadomość
PostNapisane: 7 paź 2014, o 20:25 
Offline
Nowy

Dołączył(a): 16 sie 2014
Posty: 9
Pomógł: 0

Witam
W książce Pana Mirka Kardasia przepisałem całą biblotekę do plików LCD.h LCD.c main.c
i w funkcji inicjalizującej nie wiem skąd nagle wzięły się takie bity, które po skompilowaniu jak widzimy pojawiają się jako błędy.
Nie wiem do czego one służą, czy nie dołączyłem jakiejś biblioteki ? :


Kod:
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(154,17): error: 'LCDC_FUNC' undeclared (first use in this function)
        lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );
                       ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(154,17): info: each undeclared identifier is reported only once for each function it appears in
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(154,27): error: 'LCDC_FUNC4B' undeclared (first use in this function)
        lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );
                                 ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(154,39): error: 'LCDC_FUNC2L' undeclared (first use in this function)
        lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );
                                             ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(154,51): error: 'LCDC_FUNC5x7' undeclared (first use in this function)
        lcd_write_cmd( LCDC_FUNC|LCDC_FUNC4B|LCDC_FUNC2L|LCDC_FUNC5x7 );
                                                         ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(156,17): error: 'LCDC_ONOFF' undeclared (first use in this function)
        lcd_write_cmd( LCDC_ONOFF|LCDC_CURSOROFF );
                       ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(156,28): error: 'LCDC_CURSOROFF' undeclared (first use in this function)
        lcd_write_cmd( LCDC_ONOFF|LCDC_CURSOROFF );
                                  ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(158,28): error: 'LCDC_DISPLAYON' undeclared (first use in this function)
        lcd_write_cmd( LCDC_ONOFF|LCDC_DISPLAYON );
                                  ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(160,17): error: 'LCDC_ENTRY' undeclared (first use in this function)
        lcd_write_cmd( LCDC_ENTRY|LCDC_ENTRYR );
                       ^
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(160,28): error: 'LCDC_ENTRYR' undeclared (first use in this function)
        lcd_write_cmd( LCDC_ENTRY|LCDC_ENTRYR );
                                  ^
      .././LCD.c: In function '_lcd_write_byte':
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(204,2): error: 'CLR_RW' undeclared (first use in this function)
        CLR_RW;
        ^
      .././LCD.c: In function 'lcd_cls':
C:\Users\Admin\Documents\Atmel Studio\6.2\LCD\LCD\LCD.c(237,17): error: 'LCDC_CLS' undeclared (first use in this function)
        lcd_write_cmd( LCDC_CLS );


Przy okazji chciałem też spytać jak zdefiniować F_CPU dla biblioteki <util/delay.h> ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 20:39 
Offline
Użytkownik

Dołączył(a): 19 gru 2012
Posty: 712
Lokalizacja: Opole
Pomógł: 23

Na twoim miejscu nie szukałbym problemów w bibliotece bo uwierz że są w 10000% sprawne i każdy z z posiadaczy z nich korzysta. Błędów bym szukał w Atmel Studia lub toolchainie.

Na płytce masz gotowy kod wiec po co przepisujesz?

Co do F_CPU to nigdy nie definiujemy tego w kodzie, po to są ustawienia projektu aby tam ustawić taktowanie dla wszystkich plików całego projektu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 20:42 
Offline
Nowy

Dołączył(a): 16 sie 2014
Posty: 9
Pomógł: 0

ok, Dzięki, a do czego służą te bity ? do odczytu flagi zajętości ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 21:09 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

pempek18 napisał(a):
ok, Dzięki, a do czego służą te bity ? do odczytu flagi zajętości ?


Panie kochany - bój się Zeusa - a czytałeś chociaż raz książkę ? :(

a zaglądałeś na płytę DVD dołączoną do niej - masz tam kody i co więcej masz Eclipse i wszystko gotowe do kompilacji

na DVD masz też LEKCJE VIDEO - zaglądałeś ? po obejrzeniu pierwszej już wiadomo o co chodzi i jak to odpalić w eclipse a nie w kocim atmel studio


Autor postu otrzymał pochwałę

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 21:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

Witam,

mirekk36 napisał(a):
jak to odpalić w eclipse a nie w kocim atmel studio


Heh, panie Mirku będę chyba pana zmorą jeżeli chodzi o AS :D

Kolega po co przepisywać tą bibliotekę? Przecież wystarczy dodać ją do projektu :)
Tak to się robi:
1. W pliku main.c załączasz tylko: #include "LCD.h"
2. W okienku Solution Explorer (prawa strona - takie węższe okienko) klikasz na ikonkę z nazwą Twojego projektu prawym przyciskiem myszy. Rozwija się menu, dajesz ADD i następnie Existing Item. Tak dodajesz dwa pliku LCD.c oraz LCD.h.

Warto również zrobić Add -> New Folder. Nazwać go przykładowo LCD. Wtedy to klikasz PPM na ten folder i dodajesz jak wyżej. Include się zmieni w tym momencie na taki: #include "LCD/LCD.h"

z Niebieskim pozdRowieniem,
Doman89



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 21:38 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27319
Lokalizacja: Szczecin
Pomógł: 1041

doman89 napisał(a):
Heh, panie Mirku będę chyba pana zmorą jeżeli chodzi o AS

Spokojnie - pomagaj ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 21:41 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 03 mar 2014
Posty: 580
Lokalizacja: Jastrzębie-Zdrój
Pomógł: 71

F_CPU dodajemy w ten sposób:

1. Project -> [nazwa_projektu] Properties...
2. Toolchain
3. AVR/GNU C Compiler -> Symbols
4. W okienku Defines symbols (-D) kilkamy dokument z zielonym plusikiem
5. W oknie co wyjdzie wpisujemy: "F_CPU=8000000UL" dla 8MHz, dla innych analogicznie

z Niebieskim pozdRowieniem,
Doman89


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2014, o 21:51 
Offline
Nowy

Dołączył(a): 16 sie 2014
Posty: 9
Pomógł: 0

Dziękuje za pomoc!



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: 8 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO