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



Teraz jest 23 lut 2025, o 18:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 32 ]  Przejdź na stronę 1, 2  Następna strona
Autor Wiadomość
PostNapisane: 1 cze 2012, o 19:50 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Witam,
Jestem początkujący.
W książce jest napisane jak stworzyć bibliotekę do do sterownika lcd, ale nie jest wyjasnione jak go używać. Więc proszę o pomoc (przykład) jak mogę zrobić aby coś się wyświetliło na lcd :). Jak używać w programie c funkcji z biblioteki lcd i oczywiście które.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 20:12 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

Kolego wronski przykład jak wykorzystać bibliotekę do wyświetlacza LCD jest na płcie DVD...

Pozdrawiam!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 20:18 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Super tylko w którym miejscu?

-- dodano 1 cze 2012, o 21:18 --

Super tylko w którym miejscu?

-- dodano 1 cze 2012, o 21:18 --

jest opis tylko biblioteki

-- dodano 1 cze 2012, o 21:23 --

Witam
bo głębszym zapoznaniu się z płytą dvd, znalazłem plik mailn.c
Dzieki za pomoc



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 20:28 
Offline
Moderator
Avatar użytkownika

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

wronski napisał(a):
Super tylko w którym miejscu?

-- dodano 1 cze 2012, o 21:18 --

Super tylko w którym miejscu?

-- dodano 1 cze 2012, o 21:18 --

jest opis tylko biblioteki


Paaaanie kolego .... panie kolego:

po pierwsze w książce jest DOKŁADNY opis nie tylko jak ją tworzyć ale z niego wynika wprost jak ją używać, jakie są opcje do włączania/wyłączania w pliku konfiguracyjnym *.h ...... aż przykro troszkę mi czytać taki post, że tego nie ma napisane w książce skoro jest. Tylko tak sobie myślę, ale może się mylę - kolega chyba wcale nie czytał tego całego rozdziału :(

Ale ok - nawet gdyby nie czytać tego rozdziału to na płycie DVD są przecież WSZYSTKIE przykłady z książki - no niech kolega nie żartuje że i tego nie ma - no chyba że w ogóle piszemy o całkiem innej książce ????

jak się zajrzy na DVD to w folderze

\CD_KSIAZKA\ECLIPSE\workspace\

są wszystkie lekcje pod ECLIPSE

a w środku jest m.in folder:

\CD_KSIAZKA\ECLIPSE\workspace\04_LCD

gdzie jest jak zwykle przykład jak używać tej biblioteki nie mówiąc o prawie każdym następnym projekcie, który używa tej samej biblioteki

trzeba także pamiętać aby w każdym folderze zaktualizować sobie plik lcd44780.c - a aktualizacja jest do pobrania na naszym forum:

topic27.html

na zakończenie dodam, że na DVD są też lekcje VIDEO - do których jak sądzę też kolega wcale nie zajrzał - a szkoda.....

to nie jest taka płyta jak w większości czasopism i książek, która zawiera 99% szmelcu i tylko 1% pożytecznych rzecz. Tutaj ten stosunek jest dokładnie odwrotny - dlatego trzeba ją dokładnie przejrzeć.

_________________
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: 1 cze 2012, o 22:04 
Offline
Użytkownik

Dołączył(a): 01 cze 2012
Posty: 32
Pomógł: 0

Przepraszam, że Pana uraziłem. Zanim zdążył Pan napisać ten post udało mi się znaleźć i szybko odpisałem, że znalazłem. Pozdrawiam i mam nadzieje, że uda mi nauczyć jak najwięcej i nie opisywać głupot na forum.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 22:06 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 19 sty 2012
Posty: 131
Lokalizacja: Kraków
Pomógł: 2

Cytuj:
to nie jest taka płyta jak w większości czasopism i książek, która zawiera 99% szmelcu i tylko 1% pożytecznych rzecz. Tutaj ten stosunek jest dokładnie odwrotny - dlatego trzeba ją dokładnie przejrzeć.


W 100% racja wszystko w książce jak i na płytce DVD jest bardzo przemyślane i jasno opisane.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 cze 2012, o 22:13 
Offline
Moderator
Avatar użytkownika

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

wronski napisał(a):
Przepraszam, że Pana uraziłem.


Nie nie, spokojnie nie czuję się urażony.

wronski napisał(a):
Zanim zdążył Pan napisać ten post udało mi się znaleźć i szybko odpisałem, że znalazłem. Pozdrawiam i mam nadzieje, że uda mi nauczyć jak najwięcej i nie opisywać głupot na forum.
Pozdrawiam


Proszę pisać śmiało ;) po to jest forum ... aczkolwiek czasem warto nieraz ze 2 razy przeczytać coś tam w książce, sam kolega widzi że się to sprawdza.

Kolega ;) nie Pan - tak przy okazji.

_________________
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: 14 lip 2012, o 15:05 
Offline
Nowy

Dołączył(a): 09 lip 2012
Posty: 5
Pomógł: 0

Witam, próbując wyświetlić coś na ekranie (skorzystałem z main.c zamieszczonego na płycie) wyskakują mi błędy (zapewne związane jest to z AVR STUDIO 6 albo z braku w mojej wiedzy)
Error 1 variable 'tab1' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
i wiele innych tego typu.
Próbując zadziałać coś na własną rękę próbując wyświetlić coś za pomocą tego:
char tab1[] = "FLASH";
lcd_init();
lcd_str_P(tab1);
także widzę tylko te kwadraty co się kontrast ustala. Jakby ktoś miły spokojnie podpowiedział co zrobić bo nadal nie udało mi się wyświetlić nic a czytam rozdział już 3 raz :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2012, o 15:19 
Offline
Moderator
Avatar użytkownika

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

A dlaczego kolega powiela ten błąd i korzysta z tej (przepraszam za określenie) ;) "chorej kobyły" jaką jest AVR Studio 6 - skoro:

1. na płycie DVD dołączonej do książki ma kolega ECLIPSE
2. na płycie DVD dołączonej do książki ma kolega lekcje VIDEO jak zacząć z Eclipse
3. na płycie DVD dołączonej do książki ma kolega kody źródłowe w Eclipse i pięknie działają

Każdy na tym forum już dawno zaczął od Eclipse i dobrze na tym wyszedł. Jak poznasz Eclipse w 5 minut to potem jak chcesz wracaj sobie do AVRS 6 .... ale gdybyś zaczął z Eclipse to pewnie nawet nie pojawiłbyś się tutaj z takimi błędami tylko już cieszyłbyś się działającym kodem

dlatego gorąco zachęcam - zacznij od tego co polecam w książce na DVD OK

poza tym nie zapomnij pobrać uaktualnień do kodów z DVD do książki tu masz link: (bo do LCD też coś jest ale na pewno nie ma to nic wspólnego z tymi błędami)

http://atnel.pl/uaktualnienia-programow-do-dvd.html

_________________
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: 14 lip 2012, o 16:06 
Offline
Nowy

Dołączył(a): 09 lip 2012
Posty: 5
Pomógł: 0

Właśnie robię po kolei zadania z książki w AVRS 6 i w końcu, daleko nie zachodząc, przechodzę z dniem dzisiejszym na polecany eclipse. Zobaczymy jak to mi wyjdzie :) Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 lip 2012, o 16:09 
Offline
Moderator
Avatar użytkownika

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

cs3 napisał(a):
Właśnie robię po kolei zadania z książki w AVRS 6 i w końcu, daleko nie zachodząc, przechodzę z dniem dzisiejszym na polecany eclipse. Zobaczymy jak to mi wyjdzie :) Pozdrawiam.


Dokładnie - i nie zrozum mnie źle - ja nie chcę przez to powiedzieć że AVRS jest całkiem do ....... censored .....

ale o wiele szybciej i łatwiej jest wystartować z Eclipse a mi o wiele łatwiej i szybciej poradzić początkującemu właśnie w Eclipse

Później zawsze można sobie odpalać edytor jaki się żywnie spodoba...

Ok jak coś to czekam na pytania - jeśli się pojawią to wal śmiało jak w dym

_________________
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: 14 lip 2012, o 23:37 
Offline
Nowy

Dołączył(a): 09 lip 2012
Posty: 5
Pomógł: 0

Witam, po wgraniu wszystkiego zgodnie z instrukcjami elegancko działa (jedynie problemy z moim programatorem bo tych wersji stk500v2 jest kilka ale któraś zadziałała bodajże Atmel stk500 Version 2.x firmaware). Teraz mogę z dumą oglądać efekty "mojej" pracy. Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 20:51 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

A czemu pytanie do Pana Mirka, sobota jest, niech sobie odpocznie. W przypadku funkcji inline kompilator wstawia do programu jej kod a nie jej adres w pamięci, czyli w takim przypadku nie ma skoku do funkcji (i powrotu), ale wykonywana jest od razu. Funkcje inline stosuje do krótkich kliku linjowych procedur.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 20:56 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

Ja inline rozumuję tak że używa się jej w celu przyspieszenia wykonania pewnej funkcji....



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:02 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

Te 4 linijki to jest o funkcji static inline void data_dir_out(void)

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:07 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

Void jest stosowane tam gdzie nie zależy nam na czasie wykonania tej funkcji(a ściślej rzecz ujmując czas wykonania kodu) a inline tam gdzie nam zależy na czasie wykonania chociażby wysłanie połówki bajtu do lcd.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:10 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

inline to zalecenie dla kompilatora mówiące, że jeśli nie ma przeciwskazań to powinien rozwinąć ją w linii.

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:13 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

MichałXY trochę opacznie to rozumiesz, bo funkcja nie stanie się szybsza, tylko zaoszczędzimy na czasie w tym sensie, że nie będzie skoku do kodu funkcji i powrotu (void mówi tylko o typie zwracanym przez funkcję proszę nie mieszać pojęć).
Kodu nie ma w książce to jest na DVD, proszę:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:16 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Antystatyczny napisał(a):
Koledzy, może wiecie, na której stronie jest definicja data_dir_out?



To jest funkcja do ustwienia kierunku portów, i nie ma jej w książce, ale za to jest w kodach na płycie



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Nie, jest to funkcja lokalna, wykorzystywana do ustawienia kierunku portu w innych funkcjach



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:18 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

dodam tylko dla tych co mojego postu nie zrozumieli chodzi o to że dyrektywa inline wstawi cały kod funkcji w każdą linijkę z odwołaniem się do niej

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Kolego, tak trudno zajrzeć do źródeł na płycie? Radzę odpalać pod Eclipsem i sobie ładnie przejechać łańcuszek wywołań wciskając F2, F3 itp. Wtedy wszystko widać jak na dłoni co jak działa w tej bibliotece.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:24 
Offline
Użytkownik

Dołączył(a): 15 lut 2012
Posty: 344
Lokalizacja: Bydgoszcz
Pomógł: 11

Funkcja o której mówisz musi zostać zadeklarowana w pliku .c i pliku .h, a zdefiniowana w tylko w pliku .c .



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Skoro jest tam kod (a jest), to w pliku .c, ale deklaracja funkcji musi być w pliku nagłówkowym

Czyli tak: w .h deklaracja funkcji, w .c definicja funkcji, czyli jej ciało.

------------------------ [ Dodano po: 2 minutach ]

Biblioteka jest świetnie napisana i naprawdę warto odpalić te przykłady z płyty, prześledzić łańcuszek wywołań (w Eclipse kliknij F3 na nazwie funkcji/zmiennej) począwszy od lcd_str() do _lcd_write_byte() żeby zrozumieć jak to wszystko działa i dokonać własnych modyfikacji.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:30 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

Antystatyczny: Wybacz , ale czasami za bardzo skracam myśli :(

posłuchaj kolegów dobrze ci radzą ... analizując tą bibliotekę dużo się nauczysz :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

MichalXY napisał(a):
Funkcja o której mówisz musi zostać zadeklarowana w pliku .c i pliku .h, a zdefiniowana w tylko w pliku .c .



Jesteś pewien ?
Bo mi się wydaje , nie nie wydaje mi się, odpowiedź jest taka.

Jeżeli funkcja będzie używana po za plikiem biblioteki to powinna być zadeklarowana w pliku nagłowkowym jeżeli nie będzie używana to nie ma takiej potrzeby.

W związku z tym data_dir_out() nie musi być zadeklarowana w pliku nagłowkowym jeżeli nie będzie używana na zewnątrz ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Do maina inkludujesz tylko plik nagłówkowy więc w .h MUSI BYĆ deklaracja funkcji. Skąd inaczej main.c będzie znał nazwę funkcji?

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Chyba, że to jest wewnętrzna funkcja na użytek funkcji bibliotecznych, to wtedy jest jak piszesz. A widzę, że w tym przypadku tak jest.

------------------------ [ Dodano po: 1 minucie ]

Antystatyczny napisał(a):
jeszcze nie obcykałem całości biblioteki, ale odnoszę wrażenie, że ta biblioteka nie bedzie uzywana poza HD***.h A zatem wystarczy jej definicja gdzieś w kodzie pliku .h?

Zgadza się. W nagłówkowym dajesz tylko deklaracje funkcji-interfejsów z których będziesz korzystał np. w mainie, do którego sobie tylko zainkludujesz plik nagłówkowy.

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:36 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

i otóż to :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 28 lip 2012, o 21:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 06 maja 2012
Posty: 758
Pomógł: 9

Proponuję w celach edukacyjnych zakupić też większy LCD niż jest domyślnie w ATB, np. 4x20 i spróbować go podłączyć i obsłużyć. Ja tak zrobiłem i dużo się nauczyłem. A koszt jakieś 30zł - niewiele. ;)

_________________
ATB 1.03, Win XP SP3, ECLIPSE Indigo 3.7.2



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: 32 ]  Przejdź na stronę 1, 2  Następna strona

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